Rspec 除了第一个方法外,我可以存根所有对该方法的调用吗?
使用Rspec,是否有一种方法可以存根除第一个方法之外的所有方法调用 例如:Rspec 除了第一个方法外,我可以存根所有对该方法的调用吗?,rspec,Rspec,使用Rspec,是否有一种方法可以存根除第一个方法之外的所有方法调用 例如: class Book def foo "Book#foo()" end end 规范中: it 'x' do # .... (do something to stub all but the first method call to `Book#foo`).... b = Book.new expect(b.foo).to eq('Book#foo()') expect(b.foo
class Book
def foo
"Book#foo()"
end
end
规范中:
it 'x' do
# .... (do something to stub all but the first method call to `Book#foo`)....
b = Book.new
expect(b.foo).to eq('Book#foo()')
expect(b.foo).to be_nil
expect(b.foo).to be_nil
end
有人吗?您可能会在第一个中使用和
也可以看看?是的,这是可行的。我还没有实际测试过,但如果我的记忆正常,这应该可以:
it 'does some funky stubbing' do
book = Book.new
# the first time it will not be stubbed, all subsequent times it will return nil
allow(book).to receive(:foo) { book.foo, nil }
expect(book.foo).to eq('Book#foo()')
expect(book.foo).to be_nil
expect(book.foo).to be_nil
end
而不是链接。。举个例子来解释这个概念,这将使你的答案更加独立。你能举个例子,让我们明白你的真正意思吗?非常感谢。我现在每天都在学习..用理论来理解事物非常需要例子。于是我问。。