使用 XMLUnit 忽略测试 XML 中不存在的所有元素
Ignore all elements not present in the test XML with XMLUnit
在 XML 单元 2.x 中,我可以忽略实际 ("control") XML 中不存在于我的测试中的所有元素 ("expected") XML?
示例:
实际:
<a>123</a>
<b>456</b>
<c>789</c>
测试:
<b>456</b>
<c>xxx</c>
我想检测 <c>
中的差异,但完全忽略 <a>
标记,因为它不存在于测试中 XML.
想法是我有一个很大的XML我想比较,但是只有一个元素的子集我感兴趣,我不想给XML单元一个仍然有大量要忽略或不忽略的元素名称。
您可以在所有 CHILD_NODELIST_LENGTH
和 CHILD_LOOKUP
比较中使用自己的 DifferenceEvaluator
和 return ComparisonResult.SIMILAR
(甚至 EQUAL
)。
如果您只想忽略测试文档中添加的元素(而不是忽略所有不存在于另一侧的独立于方向的元素)那么您应该只在控制长度大于时降级 CHILD_NODELIST_LENGTH
测试长度和CHILD_LOOKUP
s,其中测试端缺少节点。
在 XML 单元 2.x 中,我可以忽略实际 ("control") XML 中不存在于我的测试中的所有元素 ("expected") XML?
示例:
实际:
<a>123</a>
<b>456</b>
<c>789</c>
测试:
<b>456</b>
<c>xxx</c>
我想检测 <c>
中的差异,但完全忽略 <a>
标记,因为它不存在于测试中 XML.
想法是我有一个很大的XML我想比较,但是只有一个元素的子集我感兴趣,我不想给XML单元一个仍然有大量要忽略或不忽略的元素名称。
您可以在所有 CHILD_NODELIST_LENGTH
和 CHILD_LOOKUP
比较中使用自己的 DifferenceEvaluator
和 return ComparisonResult.SIMILAR
(甚至 EQUAL
)。
如果您只想忽略测试文档中添加的元素(而不是忽略所有不存在于另一侧的独立于方向的元素)那么您应该只在控制长度大于时降级 CHILD_NODELIST_LENGTH
测试长度和CHILD_LOOKUP
s,其中测试端缺少节点。