我有以下失败的单元测试;
it "should handle white space" do
Sanitize.clean(' ').should == ''
end
由于Sanitize.clean (' ')
的结果为' '
而非''
,因此失败。
对其他人的机器进行相同的测试工作正常,这导致我可能安装了不正确的宝石,但我已经检查过并且每个人都在运行相同的gemfile.lock,它运行Sanitize 2.0.3
正在运行Nokogiri 1.5.5
Ruby的版本(包括补丁)在1.9.3-p392
是相同的,唯一的区别是大多数人在Ubuntu机器上运行测试,我在Mac OS X上运行它们。
使用Sanitize的其他测试可以很好地传递,例如剥离不需要的标签和允许其他标签,只有空白才会崩溃。
这让我觉得这可能与编码或我发送的字符有关,也许在我的系统上,空白字符不像Sanitize可以理解的那样?我不知道如何验证这一点。
对我的下一步应该是什么的任何帮助将不胜感激。
答案 0 :(得分:0)
Sanitize使用libxml2,您的系统上是否安装了此库?您可以使用brew install libxml2
安装它。
答案 1 :(得分:0)
不幸的是,这个问题的答案并不是很有帮助,但当我与其他员工一起审核时,我们认为需要此代码的测试不是有效的测试,所以我们将其删除了。