我正在编写一系列jUnit测试,以确保我的代理Servlet从各种来源获取客户端页面的XML。
我的一个测试向servlet发送请求以获取XML,然后将其与本地副本进行比较(我认为)
我检查了每个非常有趣的XML的长度。
本地副本长度= 1753
远程版本长度= 1796
我只是使用assertTrue()
assertTrue(remote.equals(local));
为什么长度存在差异的任何想法,是否有一种方法在jUnit中我可以比较XML以确保它们是预期的并且在语法上是正确的?
欢迎提出其他建议吗?
答案 0 :(得分:4)
关于比较XML的更好方法的问题 - 我之前使用过XMLUnit并认为它运作良好。
答案 1 :(得分:2)
问题很可能是您有不同的换行符,例如一个字符串中的\n
和另一个字符串中的\n\r
。您可以在比较字符串之前删除所有换行符:
s1 = s1.replace("\n", "").replace("\r", "");
s2 = s2.replace("\n", "").replace("\r", "");
assertEquals(s1, s2); // should evaluate to true now