我试图gsub在rails应用程序中删除字符串中的非单词字符.我使用了以下代码:
somestring.gsub(/[\W]/i, '') #=> ""
Run Code Online (Sandbox Code Playgroud)
但它实际上是不正确的,它也会删除字母k.正确的应该是:
somestring.gsub(/\W/i, '') #=> "kkk"
Run Code Online (Sandbox Code Playgroud)
但我的问题是使用rspec包含上述代码的rails控制器的单元测试不起作用,单元测试实际上通过了.所以我在rspec中创建了一个非常极端的测试用例
it "test this gsub" do
'kkk'.gsub(/[\W]/i, '').should == 'kkk'
end
Run Code Online (Sandbox Code Playgroud)
上面的测试用例应该失败,但它实际上已经过去了.这里有什么问题?为什么测试通过?