Ruby Unit::通过忽略空白来比较html输出的测试
我使用Ruby的Test::unit将生成的html结果与预期结果进行比较。(不使用轨道)。我不关心空格差异,但这些差异几乎总是在测试中出现。是否有任何测试机制可以在忽略无意义空白的情况下比较html。我可以看出python也有类似的问题。我在为Ruby寻找答案Ruby Unit::通过忽略空白来比较html输出的测试,html,ruby,unit-testing,Html,Ruby,Unit Testing,我使用Ruby的Test::unit将生成的html结果与预期结果进行比较。(不使用轨道)。我不关心空格差异,但这些差异几乎总是在测试中出现。是否有任何测试机制可以在忽略无意义空白的情况下比较html。我可以看出python也有类似的问题。我在为Ruby寻找答案 assert\u select就是您想要的。它允许您使用CSS选择器来解析HTML,并查看它是否具有正确的值 请参见此assert\u select 编辑:我没注意到这不一定是rails。您可以将相关的rails gem导入到您的测试环
assert\u select
就是您想要的。它允许您使用CSS选择器来解析HTML,并查看它是否具有正确的值
请参见此assert\u select
编辑:我没注意到这不一定是rails。您可以将相关的rails gem导入到您的测试环境中,或者使用HPricot之类的工具将结果转换为HTML并检查正确的值。或者自己去掉空白
assert_equal html_string.gsub(/\s+/, ' '), '<a href="foo">'
assert_equal html_string.gsub(/\s+/,“”),“”
assert\u select似乎确保特定元素存在,我可以在其他地方使用它。我想做的是比较两个完整的html字符串。它能做到吗?只是尝试了这个正则表达式-它实际上并没有吃掉所有多余的空格。我想的太多了/\s+/
似乎可以工作,但剥离所有空白并不是一个完美的解决方案,因为空白在pre
元素中非常重要。