0

使用XMLUnit2在soapui中使用groovy比较两个xml文件,它成功地比较了两个文件。想打印它找到的所有差异,但它只打印第一个差异。XMLUnit1 假设打印所有差异,但想使用 XMLUnit2。

如果有人有任何想法,如何打印请帮助我,将不胜感激。

代码使用:

diff = DiffBuilder.compare(resxml1)
        .withTest( resxml2)
        .withNodeFilter(nodeFilter)
        .withAttributeFilter(attributeFilter)
        .ignoreComments()
        .ignoreWhitespace()
        .ignoreElementContentWhitespace()
  .checkForSimilar()
        .withNodeMatcher(new DefaultNodeMatcher(new ByNameAndTextRecSelector(), ElementSelectors.byName))
         .build();
print diff
4

1 回答 1

0

作为比较结果获得的Diff对象包含所有差异,您可以使用 访问它们diff.getDifferences()。当您仅打印第一个差异时调用的toString方法。Diffprint

因此,如果您想打印所有差异,您可以执行以下操作

for (Difference d : diff.getDifferences()) {
    System.err.println(d);
}

要对输出进行更多控制,请查看ComparisonFomatterandDifference的 one-argtoString方法。

于 2020-01-24T17:44:16.423 回答