【发布时间】:2017-04-29 17:32:58
【问题描述】:
尝试存根子方法时出现以下错误:
nil:NilClass 的未定义方法 `sub'
为什么这不起作用?
allow(String).to receive(:sub).with('xxyy').and_return('yy')
谢谢。
【问题讨论】:
尝试存根子方法时出现以下错误:
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 "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
【讨论】: