问题标签 [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.

0 投票
1 回答
824 浏览

java - 如何比较 2 个 XML 文件以及如何使用 XMLUnit 获取新添加\删除元素等信息

我有 2 个结构几乎相似的 xml 文件,在这些 XML 文件中如何获取以下信息?

  1. 新添加的控件(或节点)
  2. 控件(或节点)被移除和
  3. 控件(或节点)属性已修改。

为了您的信息,我尝试了以下代码:

0 投票
0 回答
2036 浏览

java - 使用 XMLUnit 进行 XML 比较的问题

我要比较的两个 xml 是:

我希望应用程序给我以下差异:

我已经尝试使用RecursiveElementNameAndTextQualifier以及ElementNameAndAttributeQualifier. 但我没有得到想要的结果。

我的代码如下:

*我正在使用DifferenceListener忽略这些差异:

ElementNameAndAttributeQualifier给了我这些结果:

RecursiveElementNameAndTextQualifier给了我这些结果:

ElementQualifier我应该使用或覆盖任何方法来获得所需的结果?

-----------------编辑 1-------------------------------------------- ----------

XMLUnit.setCompareUnmatched(false)与 结合使用时,ElementNameAndTextQualifier可以正确识别差异。

使用它的结果是:

我可以使用或覆盖的任何其他方法?

0 投票
1 回答
485 浏览

java - Java:XMLUnit.setIgnoreWhitespace(true) 导致奇怪的输出

我在以下代码中有一个问题。

当我不在上面的 java 代码中写下以下行时。

断言在“开始时间”附近给出了一个异常,该节点的值不存在,这是我想要的,因为值 23 不存在。但是当我在实例化 Diff 类之前将此行 (setIgnoreWhitespace) 添加到代码中时,尽管具有相同的 xml,但此代码通过了断言测试。

我真的不明白这里发生了什么。请帮我。

注意:我需要 XMLUnit.setIgnoreWhitespace(true) 来等同于在它们的某些节点之间有空间的两个 xml,否则代码会给出一些其他错误。

0 投票
2 回答
3158 浏览

java - XMLUnit 预期的子节点数为真,但为假

我正在使用 XMLunit 来比较以下 XML

XML 1

XML 2

我希望只有元素 2 会有所不同,但是对于 element1 我会得到这样的差异

“预期子节点的存在为真,但为假”。
"预期子节点 1 的数量为 0"
"预期存在子节点 '#text' 但为空。

我知道这可以消失,setIgnoreWhiteSpace但我想要element2空白差异。

0 投票
1 回答
398 浏览

unit-testing - 如何使用骆驼模拟来获取完整的 XML?

在使用骆驼进行的单元测试中,我可以使用 xpath 进行断言来检查输出 xml 是否正确。但相反,我想使用 XMLUnit 来针对另一个完整的 xml 文件验证 xml。那可能吗?以下测试成功,但我想对其进行调整以获取实际的 XML。

0 投票
0 回答
129 浏览

java - 在 XMLUnit 中自定义 DifferenceListener

我想修改 XMLUnit 中的 DifferenceListener 以在比较 XML 文件时忽略属性 id。我尝试使用以下方法来做到这一点。

但我无法理解如何在 IGNORE_VALUES 数组中只输入 id 属性。请帮帮我。

0 投票
4 回答
1453 浏览

xml - XMLUnit 比较 Xml 比较错误的节点

当您有不同顺序的父节点时,我遇到了问题。例如:

示例 XML1

示例 XML2

当我调试 RecursiveElementNameAndTextQualifier 时,我看到它将 FirstParent 作为 controlnode,将 SecondParent 作为 testnode。因此,可以正确得出节点不同的结论。但是我需要将 FirstParent 和 SeconParent 与另一个文件中的正确匹配进行比较。

所以,似乎我需要先对更高级别的节点进行排序(?)。

有人知道我该如何克服吗?我应该以不同的方式检查/修改/实施什么以将正确的父母串联传递给 ElementQualifier ?

也许,有了正确的方向,我可以开发所需的东西。

0 投票
1 回答
6502 浏览

xml - 比较 XML 忽略元素顺序

使用 XMLUnit 2 如何在不考虑元素顺序的情况下比较两个文档?

我收到了 XMLUnit 1 的这个问题,但显然 v2 中的新 API 不再具有上述方法。

这是我当前的代码:

编辑 Stefan Bodewigs 评论:

这些是我与上面的片段比较的两个字符串:

报告的差异

0 投票
1 回答
1383 浏览

java - XMLUnit - ClassNotFoundException

我刚刚下载了 XMLUnit ( https://github.com/xmlunit/xmlunit/releases ) 但无法让它工作。

当我尝试配置一些属性时,例如:

...引发以下异常:

其他人有同样的问题吗?

0 投票
1 回答
2269 浏览

xmlunit - 比较 XMLUnit 2 中的子节点 - 预期子节点 'node2' 但为 'null'

我需要使用XMLUnit 2xml 子节点的顺序不同的地方来比较 XML 文件。由于使用了底层库,我无法影响子节点的顺序。

为了比较,我正在使用:

问题归结为这个 JUnit 测试:

其中t1.xml包含:

t2.xml包含:

实际上,node1并且node2是按顺序更改的。测试结果是:

我想知道是否可以将此类 xml 文件与XMLUnit 2. 任何形式的帮助表示赞赏。