0

我想比较两个具有相同限定名的空元素。我希望能够指定一个选项,该选项将元素标记为不同,如果一个是自关闭的,另一个不是。

final String control = "<a></a>";
final String test = "<a/>";
Diff myDiff = DiffBuilder.compare(Input.fromString(control))
    .withTest(Input.fromString(test))
    .build();
System.out.println(myDiff.toString());

这当前打印

[identical]

我怎样才能让它包含差异?

我已经探索了ComparisonType枚举,但它似乎不包含任何与我寻求的比较类型相匹配的值。

我正在为 Java 2.5.0 使用 Java 8 和 XMLUnit。

上下文:我想这样做的原因是因为我有一个将 XML 转换为 HTML 的 XSLT 转换,并且我正在编写一个单元测试,以确保输出不包含自关闭<div/>s 或<p/>s,因为这不是有效的 HTML。

4

1 回答 1

2

你不能,原因很简单:这两个元素没有什么不同。只是它们的序列化形式不同,XMLUnit 关心的是 XML 是否正确,而不是是否按照您希望的方式序列化。

于 2017-10-30T13:09:20.033 回答