问题标签 [xmlunit-2]
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 - 使用 XMLUnit 忽略测试 XML 中不存在的所有元素
在 XMLUnit 2.x 中,我可以忽略实际(“控制”)XML 中不存在于我的测试(“预期”)XML 中的所有元素吗?
例子:
实际的:
测试:
我想检测差异<c>
但完全忽略<a>
标签,因为它不存在于测试 XML 中。
我的想法是我有一个要比较的大 XML,但我只对元素的一个子集感兴趣,我不想给 XMLUnit 一个仍然很大的元素名称列表以忽略或不忽略。
java - 使用 xml 单元忽略 xml ns 属性
这是我的代码
我的 xml 文件是
我想忽略 xmlns:ns3 属性。上面的文件 Ignore.txt 包含我需要忽略的所有节点和属性。但是当我添加 xmlns:ns3 时,它并没有忽略该属性。我正在使用 XMLunit 2.2.1
java - 如何使用 xml 单元选择要断言的特定节点
我正在比较一个组件的 xml 文件。我有一些需要比较的节点。但我不需要比较所有节点。所以我在 xmlunit 中有任何方法可以只比较那些特定的节点。我使用 nodefilter 和属性过滤器来忽略某些节点。代码是
但现在我只想比较某些需要的节点。这是因为 xml 非常大,大多数节点不同,但只有少数节点相等。
java - xmlunit:ElementSelectors.conditionalBuilder 出错
所以我有以下输入、预期输出和实际输出xml:
输入.xml
预期输出.xml
实际输出.xml
我将它们与以下 Diff 设置进行比较:
我的测试.java
当我运行上述输入并与 expected-output.xml 进行比较时,我得到以下差异:
[Expected child '{http://test.org/standards/intake}RqUID' but was 'null' - comparing <RqUID...> at /ProductRq[1]/SvcRq[1]/NotificationRq[1]/RqUID[1] to <NULL> (DIFFERENT), Expected child 'null' but was '{http://test.org/standards/intake}RqUID' - comparing <NULL> to <RqUID...> at /ProductRq[1]/SvcRq[1]/NotificationRq[1]/RqUID[1] (DIFFERENT)]
我不明白为什么我的元素选择器不起作用,我是否使用不正确?我的目标是每当找到 TransmissionId 或 NotificationRq/RqUID 时,仅按名称将它们与预期的输出版本匹配,否则将名称和文本用于其他元素,因为这些元素包含唯一生成的 ID,这些 ID 会更改每次测试运行且无法预测(为了稍后创建更复杂的选择器,例如通过名称和属性比较 ProductRq,因为添加了命名空间)。有什么我遗漏的吗,我是否能够将 2 个 XPath 选择器组合在一起,而不是几个 when/then 行和默认情况?
注意:xml 是通过 xslt 转换的。PRoductRq 上的命名空间不在源文档中;复制源,将命名空间添加到 ProductRq,然后与一些元素删除/修改/添加一起发送以输出
java - XMLUnit:删除父包装
XMLUnit 2 中有没有办法让这两个文档返回相同(或相似)?我可以做一些预处理来获取子节点,但我想看看这是否可以直接用 XMLUnit 完成。
文件1:
文件2:
java - XMLUnit 如何忽略缺失的属性
我熟悉忽略属性值的差异,但是完全按名称忽略属性的正确方法是什么?如何使这两个文档评估为相似?
文件1:
文件2:
xmlunit - XMLUnit 比较和存储与发现的差异相关的特定值
我正在尝试比较两个 xml 文件,如果在两个特定项目之间发现差异,我想存储一个也属于该项目的键值。例如,假设我有以下两个 XML 文件:
文件 1:
文件 2:
所以在上面的例子中,会因为第一个 vendorCode 不匹配而抛出差异。所以我想做的是获取 vendorCode 的当前新值,即:NotATest。我能够做到这一点。但是,我还想存储已更改的员工的 associateID。有没有办法获取 associateID 12345 和新值?我看到有一个 ParentXPath,但有没有办法实际获取该 associateID,即使这不是该节点上的实际差异。
我们有多个关联的文件,所以我希望能够将发现的差异映射到必要的 associateId。
目前,我能够比较乱序发送的文档并根据关联 ID 进行比较。我只需要能够抓住那个价值。这是我目前拥有的代码:
然后这是我的 AssociateNodeMatcher:
}
任何帮助都会很棒。
java - XML Unit - Using custom element selectors on different xml elements
I'm having a problem comparing various elements in my xml document with XMLUnit (2.2.1). In my document there are several xml elements and I want to know, whether they differ from each other. However, I don't want to compare all xml elements the same way. Sometimes I just want to compare them by their name.In other cases I want to compare them by name and attribute or name and text.
Here is an example (see the comments)
Control
Test:
I tried ElementSelectors in combination with ElementSelectors.conditionalBuilder (https://github.com/xmlunit/user-guide/wiki/SelectingNodes#conditional-elementselectors) to only apply an ElementSelector on a specific element (whenElementIsNamed). Maybe this isn't the right approach for what I want to achieve.
This is my code I use for testing:
What I actually need is the information, that two LANGUAGEs (EN,IT) and two CODEs (10000-1,30000-3) have been removed (not replaced) and FIRSTNAME changed.
How can I get those information, with or without XML Unit (DiffBuilder)?
Thank you for your help!
java - XMLUnit - 与顺序不同的 XML 进行比较的问题
我正在使用 XMLUnit2 来比较 2 个没有相同顺序元素的 XML。我看到以下错误 -
差异 = 预期的子 'billingCode' 但为 'null' - 在 /translateServiceRequestResponse[1]/translateServiceRequestReturn[1]/legacyCode[2]/billingCode[1] 处比较为 NULL
代码
控制文件
测试文件
java - 如何为 jdk 7 或更早版本使用 lambda 表达式
如果我使用 jdk 7 并想使用 lambda 表达式,我需要做哪些更改?我正在比较 2 个 xml 文件并希望忽略特定节点,因此使用此表达式
错误:令牌'-'上的语法错误,--预期