2009-02-08 50 views
0

我使用Ruby的Test :: unit将生成的html的结果与预期的结果进行比较。 (不使用导轨)。我并不关心空白区域的差异,但在测试过程中这些差异几乎总是出现。是否有任何测试机制来比较html,而忽略无意义的空白。我可以看到python here有类似的问题。我正在寻找Ruby的答案。Ruby单元::测试通过忽略空格来比较html输出

回答

1

或者只是剥离空格自己

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

刚刚尝试过这个正则表达式 - 它实际上并没有吃掉所有额外的空格。 – 2009-02-08 01:51:20

1

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

看到这个assert_selectcheat sheet

编辑:我错过了这不是necesarily轨道。您可以将相关的rails gem导入到您的测试环境中,或者使用像HPricot这样的东西来允许您将结果作为HTML进行打印并检查正确的值。

+0

assert_select似乎以确保特定的元素存在,我可以使用在其他地方。我想要做的是比较两个完整的html字符串。它可以做到吗? – 2009-02-08 00:59:41