我在设置一个测试时正在存根这样的方法
def setup
super
#blah, blah
GoogleIdentity.stubs(:new).with(google_identity).returns(google_account)
end
问题在于,并非每个测试都会调用该方法并返回对象。
在不调用该方法的方法中,我收到此错误:
允许任意次数,但尚未调用: GoogleIdentity.new()
摩卡似乎在抱怨,因为没有调用该方法。
如何指定不希望调用的存根?
我认为摩卡的实现被破坏了。称为stubs
的方法不应该关心是否被调用。这应该是mocks
方法的责任。
这种行为是我不再使用摩卡的原因之一。
根据我在解决此问题时的记忆,我使用其中一个期望来处理这种情况,例如at_most(1)
.