断言反对HTML

时间:2013-10-25 05:12:53

标签: c# html .net asp.net-mvc unit-testing

我特意在.net mvc环境中寻找解决方案,但这个问题适用于所有语言和框架

我目前正在对HtmlHelper扩展进行单元测试(对于那些不是.net mvc流畅的人来说,这是一个返回html字符串的函数)

现在我的问题是,即使字符串不相等,html也可能有效

假设我想断言我的方法输出

<div class="myClass" id="myId" >Hello</div>

然而它实际输出

<div id="myId" class="myClass" >Hello</div>

这仍然有效,对吧? 现在我可能正在吃我的话,但我没有看到任何可以说它们实际上是平等的。

我相信这些是平等的,因为它们在浏览器中呈现时基本相同。

是否有支持这种比较的图书馆? (特别是c#.net;但我也对其他语言感兴趣)

1 个答案:

答案 0 :(得分:2)

我不确定,但HtmlAgilityPack(http://htmlagilitypack.codeplex.com/)可以帮助您解决这个问题。它可以将html解析为对象,然后代表你的html的dom。在你的情况下,我猜dom应该是相同的,或者至少它应该更容易比较解析然后html的两个结果。