问题标签 [xmlunit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何比较 2 个 XML 文件以及如何使用 XMLUnit 获取新添加\删除元素等信息
我有 2 个结构几乎相似的 xml 文件,在这些 XML 文件中如何获取以下信息?
- 新添加的控件(或节点)
- 控件(或节点)被移除和
- 控件(或节点)属性已修改。
为了您的信息,我尝试了以下代码:
java - 使用 XMLUnit 进行 XML 比较的问题
我要比较的两个 xml 是:
和
我希望应用程序给我以下差异:
我已经尝试使用RecursiveElementNameAndTextQualifier
以及ElementNameAndAttributeQualifier
. 但我没有得到想要的结果。
我的代码如下:
*我正在使用DifferenceListener
忽略这些差异:
这ElementNameAndAttributeQualifier
给了我这些结果:
这RecursiveElementNameAndTextQualifier
给了我这些结果:
ElementQualifier
我应该使用或覆盖任何方法来获得所需的结果?
-----------------编辑 1-------------------------------------------- ----------
XMLUnit.setCompareUnmatched(false)
与 结合使用时,ElementNameAndTextQualifier
可以正确识别差异。
使用它的结果是:
我可以使用或覆盖的任何其他方法?
java - Java:XMLUnit.setIgnoreWhitespace(true) 导致奇怪的输出
我在以下代码中有一个问题。
当我不在上面的 java 代码中写下以下行时。
断言在“开始时间”附近给出了一个异常,该节点的值不存在,这是我想要的,因为值 23 不存在。但是当我在实例化 Diff 类之前将此行 (setIgnoreWhitespace) 添加到代码中时,尽管具有相同的 xml,但此代码通过了断言测试。
我真的不明白这里发生了什么。请帮我。
注意:我需要 XMLUnit.setIgnoreWhitespace(true) 来等同于在它们的某些节点之间有空间的两个 xml,否则代码会给出一些其他错误。
java - XMLUnit 预期的子节点数为真,但为假
我正在使用 XMLunit 来比较以下 XML
XML 1
XML 2
我希望只有元素 2 会有所不同,但是对于 element1 我会得到这样的差异
“预期子节点的存在为真,但为假”。
"预期子节点 1 的数量为 0"
"预期存在子节点 '#text' 但为空。
我知道这可以消失,setIgnoreWhiteSpace
但我想要element2
空白差异。
unit-testing - 如何使用骆驼模拟来获取完整的 XML?
在使用骆驼进行的单元测试中,我可以使用 xpath 进行断言来检查输出 xml 是否正确。但相反,我想使用 XMLUnit 来针对另一个完整的 xml 文件验证 xml。那可能吗?以下测试成功,但我想对其进行调整以获取实际的 XML。
java - 在 XMLUnit 中自定义 DifferenceListener
我想修改 XMLUnit 中的 DifferenceListener 以在比较 XML 文件时忽略属性 id。我尝试使用以下方法来做到这一点。
但我无法理解如何在 IGNORE_VALUES 数组中只输入 id 属性。请帮帮我。
xml - XMLUnit 比较 Xml 比较错误的节点
当您有不同顺序的父节点时,我遇到了问题。例如:
示例 XML1
示例 XML2
当我调试 RecursiveElementNameAndTextQualifier 时,我看到它将 FirstParent 作为 controlnode,将 SecondParent 作为 testnode。因此,可以正确得出节点不同的结论。但是我需要将 FirstParent 和 SeconParent 与另一个文件中的正确匹配进行比较。
所以,似乎我需要先对更高级别的节点进行排序(?)。
有人知道我该如何克服吗?我应该以不同的方式检查/修改/实施什么以将正确的父母串联传递给 ElementQualifier ?
也许,有了正确的方向,我可以开发所需的东西。
xml - 比较 XML 忽略元素顺序
使用 XMLUnit 2 如何在不考虑元素顺序的情况下比较两个文档?
我收到了 XMLUnit 1 的这个问题,但显然 v2 中的新 API 不再具有上述方法。
这是我当前的代码:
编辑 Stefan Bodewigs 评论:
这些是我与上面的片段比较的两个字符串:
报告的差异
java - XMLUnit - ClassNotFoundException
我刚刚下载了 XMLUnit ( https://github.com/xmlunit/xmlunit/releases ) 但无法让它工作。
当我尝试配置一些属性时,例如:
...引发以下异常:
其他人有同样的问题吗?
xmlunit - 比较 XMLUnit 2 中的子节点 - 预期子节点 'node2' 但为 'null'
我需要使用XMLUnit 2
xml 子节点的顺序不同的地方来比较 XML 文件。由于使用了底层库,我无法影响子节点的顺序。
为了比较,我正在使用:
问题归结为这个 JUnit 测试:
其中t1.xml
包含:
并t2.xml
包含:
实际上,node1
并且node2
是按顺序更改的。测试结果是:
我想知道是否可以将此类 xml 文件与XMLUnit 2
. 任何形式的帮助表示赞赏。