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

0 投票
1 回答
445 浏览

java - 使用 XMLUnit 忽略测试 XML 中不存在的所有元素

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

例子:

实际的:

测试:

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

我的想法是我有一个要比较的大 XML,但我只对元素的一个子集感兴趣,我不想给 XMLUnit 一个仍然很大的元素名称列表以忽略或不忽略。

0 投票
1 回答
1974 浏览

java - 使用 xml 单元忽略 xml ns 属性

这是我的代码

我的 xml 文件是

我想忽略 xmlns:ns3 属性。上面的文件 Ignore.txt 包含我需要忽略的所有节点和属性。但是当我添加 xmlns:ns3 时,它并没有忽略该属性。我正在使用 XMLunit 2.2.1

0 投票
0 回答
851 浏览

java - 如何使用 xml 单元选择要断言的特定节点

我正在比较一个组件的 xml 文件。我有一些需要比较的节点。但我不需要比较所有节点。所以我在 xmlunit 中有任何方法可以只比较那些特定的节点。我使用 nodefilter 和属性过滤器来忽略某些节点。代码是

但现在我只想比较某些需要的节点。这是因为 xml 非常大,大多数节点不同,但只有少数节点相等。

0 投票
1 回答
610 浏览

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,然后与一些元素删除/修改/添加一起发送以输出

0 投票
1 回答
64 浏览

java - XMLUnit:删除父包装

XMLUnit 2 中有没有办法让这两个文档返回相同(或相似)?我可以做一些预处理来获取子节点,但我想看看这是否可以直接用 XMLUnit 完成。

文件1:

文件2:

0 投票
1 回答
568 浏览

java - XMLUnit 如何忽略缺失的属性

我熟悉忽略属性值的差异,但是完全按名称忽略属性的正确方法是什么?如何使这两个文档评估为相似?

文件1:

文件2:

0 投票
1 回答
300 浏览

xmlunit - XMLUnit 比较和存储与发现的差异相关的特定值

我正在尝试比较两个 xml 文件,如果在两个特定项目之间发现差异,我想存储一个也属于该项目的键值。例如,假设我有以下两个 XML 文件:

文件 1:

文件 2:

所以在上面的例子中,会因为第一个 vendorCode 不匹配而抛出差异。所以我想做的是获取 vendorCode 的当前新值,即:NotATest。我能够做到这一点。但是,我还想存储已更改的员工的 associateID。有没有办法获取 associateID 12345 和新值?我看到有一个 ParentXPath,但有没有办法实际获取该 associateID,即使这不是该节点上的实际差异。

我们有多个关联的文件,所以我希望能够将发现的差异映射到必要的 associateId。

目前,我能够比较乱序发送的文档并根据关联 ID 进行比较。我只需要能够抓住那个价值。这是我目前拥有的代码:

然后这是我的 AssociateNodeMatcher:

}

任何帮助都会很棒。

0 投票
1 回答
832 浏览

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!

0 投票
1 回答
427 浏览

java - XMLUnit - 与顺序不同的 XML 进行比较的问题

我正在使用 XMLUnit2 来比较 2 个没有相同顺序元素的 XML。我看到以下错误 -

差异 = 预期的子 'billingCode' 但为 'null' - 在 /translateServiceRequestResponse[1]/translateServiceRequestReturn[1]/legacyCode[2]/billingCode[1] 处比较为 NULL

代码

控制文件

测试文件

0 投票
2 回答
1398 浏览

java - 如何为 jdk 7 或更早版本使用 lambda 表达式

如果我使用 jdk 7 并想使用 lambda 表达式,我需要做哪些更改?我正在比较 2 个 xml 文件并希望忽略特定节点,因此使用此表达式

错误:令牌'-'上的语法错误,--预期