1

我正在编写一系列 jUnit 测试,以确保我的代理 Servlet 从各种来源获取客户端页面的 XML。

我的一项测试向 servlet 发送请求以获取 XML,然后将其与相同的本地副本进行比较(我认为)

我检查了每个 XML 的长度,这很有趣。

本地复制长度 = 1753

远程版本长度 = 1796

我只是在使用 assertTrue()

assertTrue(remote.equals(local));       

任何想法为什么长度会有所不同,在 jUnit 中有没有办法我可以比较 XML 以确保它们是预期的并且在语法上是正确的?

欢迎其他建议?

4

2 回答 2

4

关于您比较 XML 的更好方法的问题 - 我以前使用过XMLUnit,感觉效果很好。

于 2013-04-25T08:42:30.460 回答
2

问题很可能是您有不同的换行符,例如\n一个字符串和\n\r另一个字符串。您可以在比较字符串之前删除所有换行符:

s1 = s1.replace("\n", "").replace("\r", "");
s2 = s2.replace("\n", "").replace("\r", "");
assertEquals(s1, s2); // should evaluate to true now
于 2013-04-25T08:49:04.557 回答