是否有用于测试XML文件的AssertEquals?

前端之家收集整理的这篇文章主要介绍了是否有用于测试XML文件的AssertEquals?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我经常需要测试 XML文件是否正确,并且需要一种方法来测试2个XML字符串(或文档)是否相同,例如:
XMLAssert.assertEquals(String xmlExpected,String xmlActual);

此外,显示xml文档的不同之处也很有用.

这应限于独立=“是”的文档(即DTD或模式 – 如果有的话 – 不重要).这意味着没有默认值,属性类型无关紧要.应对相邻文本PCDATA节点进行规范化(连接).

请注意,这不能通过词法比较来完成

Assert.assertEquals(xmlExpected,xmlActual);

因为有无限多种方式呈现相同的XML信息集.比较应考虑元素和属性名称空间(但不考虑属性值 – 这不是规范的一部分).

一种方法可能涉及规范化两个文档.或者,可以使用XMLDiff.

我几年前找不到任何东西,所以写了我自己的东西.

[我也特别需要比较浮点值,虽然这必须是一个黑客,因为CDATA或PCDATA的数据类型只能被猜到并且不在问题的直接范围内.]

注意:可能需要为每种语言提供特定的解决方案.我对Java和C#特别感兴趣

对于Java,你应该检查 XMLUnit.我刚刚注意到它也带有.NET版本!以下是Java版本的示例:
String myControlXML = "<msg><uuid>0x00435A8C</uuid></msg>";
String myTestXML = "<msg><localId>2376</localId></msg>";
assertXMLNotEqual(myControlXML,myTestXML);

猜你在找的XML相关文章