使用XMLUnit

时间:2017-01-30 15:09:03

标签: java xml xmlunit xmlunit-2

在XMLUnit 2.x中,我可以忽略实际(“控制”)XML中我的测试(“预期”)XML中不存在的所有元素吗?

示例:

实际值:

<a>123</a>
<b>456</b>
<c>789</c>

测试:

<b>456</b>
<c>xxx</c>

我希望检测<c>中的差异,但完全忽略<a>标记,因为它不存在于测试XML中。

我的想法是我想要比较一个大的XML,但只有一小部分元素对我来说很有趣,而且我不想给XMLUnit一个仍然很大的元素名列表来忽略或不忽略。

1 个答案:

答案 0 :(得分:1)

您可以在所有DifferenceEvaluatorComparisonResult.SIMILAR比较中使用自己的EQUAL并返回CHILD_NODELIST_LENGTH(甚至CHILD_LOOKUP)。

如果您只想忽略测试文档中添加的元素(而不是忽略另一侧不存在的所有元素,而不考虑方向),那么只有在控制长度大于测试时才应降级CHILD_NODELIST_LENGTH测试端缺少节点的长度和CHILD_LOOKUP