gpt4 book ai didi

java - XMLUnit - NodeFilter 不返回任何内容

转载 作者:行者123 更新时间:2023-11-30 10:30:47 25 4
gpt4 key购买 nike

我目前正在尝试使用 XML Unit。我有两个文件,测试和控制,我想比较。

我的场景是我只想测试两个的东西(版本和id)而忽略其余的。

这是我尝试做的:

   final org.xmlunit.diff.Diff result = DiffBuilder
.compare(controlxml)
.withTest(testxml)
.withNodeFilter(node -> node.getNodeName().equals("id") && node.getNodeName().equals("version"))
.build();

这不起作用,因为我没有得到任何差异。它似乎过滤掉了所有差异。

如果我这样做:

.withNodeFilter(node -> !node.getNodeName().equals("name") ...)

我可以过滤掉我不想要的东西(比如例子中的名字)。但是,这不太可行,因为有很多东西我不想比较。

我真的必须明确定义要过滤掉的每一个吗?为什么我不能只用“node.getNodeName().equals”告诉它我想要的两个,它会自动过滤掉其余的?

要么我做错了什么,要么我迷路了。亲爱的 Stack Overflow,在此问题上,我们将不胜感激。

最佳答案

使用或(||)不和(&&)

final org.xmlunit.diff.Diff result = DiffBuilder
.compare(controlxml)
.withTest(testxml)
.withNodeFilter(node -> node.getNodeName().equals("id") || node.getNodeName().equals("version"))
.build();

关于java - XMLUnit - NodeFilter 不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43611639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com