如何在ruby中存根子方法
尝试存根子方法时出现以下错误: nil:NilClass的未定义方法“sub” 为什么这样不行如何在ruby中存根子方法,ruby,rspec,Ruby,Rspec,尝试存根子方法时出现以下错误: nil:NilClass的未定义方法“sub” 为什么这样不行 allow(String).to receive(:sub).with('xxyy').and_return('yy') 谢谢 allow(String).to receive(:sub).with('xxyy').and_return('yy') 这意味着存在一个只接受一个字符串作为参数的类方法String.sub: describe "String.sub stub" do it "ret
allow(String).to receive(:sub).with('xxyy').and_return('yy')
谢谢
allow(String).to receive(:sub).with('xxyy').and_return('yy')
这意味着存在一个只接受一个字符串作为参数的类方法String.sub:
describe "String.sub stub" do
it "returns yy" do
allow(String).to receive(:sub).with('xxyy').and_return('yy')
expect(String.sub('xxyy')).to eq('yy')
end
end
您确定要存根的方法具有以下语法:
String.sub('xxyy') # => 'yy'
?
这应该更接近您想要实现的目标:
describe "'xxyy'.sub stub" do
it "returns yy" do
string = 'xxyy'
allow(string).to receive(:sub).and_return('yy')
expect(string.sub).to eq('yy')
end
end