加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 07:48:25 所属栏目:百科 来源:网络整理
导读:我经常需要测试 XML文件是否正确,并且需要一种方法来测试2个XML字符串(或文档)是否相同,例如: XMLAssert.assertEquals(String xmlExpected,String xmlActual); 此外,显示xml文档的不同之处也很有用. 这应限于独立=“是”的文档(即DTD或模式 – 如果有的话
我经常需要测试 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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读