【发布时间】:2016-08-10 01:02:03
【问题描述】:
- 在 java 中使用 XmlUnit 2.2.1 比较两个 xml。
- 文档之间的唯一区别在于命名空间前缀。
这里是重现的代码sn-p:
@Test
public void testDifferentPrefix() {
final String control = "<ns:a xmlns:ns='abc'><b attr=\"xyz\"></b></ns:a>";
final String test = "<ns1:a xmlns:ns1='abc'><b attr=\"xyz\"></b></ns1:a>";
Diff myDiff = DiffBuilder.compare(Input.fromString(control))
.withTest(Input.fromString(test))
.build();
Assert.assertFalse(myDiff.toString(), myDiff.hasDifferences());
}
当上述测试运行时,它失败并出现以下错误:
预期的命名空间前缀 'ns' 但为 'ns1' - 在 /pfx:a[1] 与 /pfx:a[1] 进行比较 junit.framework.AssertionFailedError 在 NewEmptyJUnitTest.testDifferentPrefix(NewEmptyJUnitTest.java:95)
为了避免错误应该更正什么?我相信我遗漏了一些微不足道的东西。
【问题讨论】: