我特意在.net mvc环境中寻找解决方案,但这个问题适用于所有语言和框架
我目前正在对HtmlHelper扩展进行单元测试(对于那些不是.net mvc流畅的人来说,这是一个返回html字符串的函数)
现在我的问题是,即使字符串不相等,html也可能有效
假设我想断言我的方法输出
<div class="myClass" id="myId" >Hello</div>
然而它实际输出
<div id="myId" class="myClass" >Hello</div>
这仍然有效,对吧? 现在我可能正在吃我的话,但我没有看到任何可以说它们实际上是平等的。
我相信这些是平等的,因为它们在浏览器中呈现时基本相同。
是否有支持这种比较的图书馆? (特别是c#.net;但我也对其他语言感兴趣)
答案 0 :(得分:2)
我不确定,但HtmlAgilityPack(http://htmlagilitypack.codeplex.com/)可以帮助您解决这个问题。它可以将html解析为对象,然后代表你的html的dom。在你的情况下,我猜dom应该是相同的,或者至少它应该更容易比较解析然后html的两个结果。