Ruby Unit :: Test通过忽略空格来比较html输出

时间:2009-02-08 00:43:28

标签: html ruby unit-testing

我使用Ruby的Test :: unit来比较生成的html的结果和预期的结果。 (不使用铁轨)。我并不关心空白差异,但这些差异几乎总是在测试期间出现。是否有任何测试机制来比较html而忽略无意义的空白。我可以看到python here有类似的问题。我正在寻找Ruby的答案。

2 个答案:

答案 0 :(得分:1)

assert_select就是你想要的。它允许您使用CSS选择器来解析HTML并查看它是否具有正确的值。

请参阅此assert_select cheat sheet

编辑:我错过了这不是必要的铁路。您可以将相关的rails gem导入到测试环境中,也可以使用HPricot之类的东西将结果作为HTML进行删除并检查正确的值。

答案 1 :(得分:1)

或者只是自己去掉空白

assert_equal html_string.gsub(/\s+/, ' '), '<a href="foo">'