Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Unit::通过忽略空白来比较html输出的测试_Html_Ruby_Unit Testing - Fatal编程技术网

Ruby Unit::通过忽略空白来比较html输出的测试

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导入到您的测试环

我使用Ruby的Test::unit将生成的html结果与预期结果进行比较。(不使用轨道)。我不关心空格差异,但这些差异几乎总是在测试中出现。是否有任何测试机制可以在忽略无意义空白的情况下比较html。我可以看出python也有类似的问题。我在为Ruby寻找答案

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
元素中非常重要。