我的问题与此类似:Mocha: stubbing method with specific parameter but not for other parameters
obj.expects(:do_something).with(:apples).never
perform_action_on_obj
perform_action_on_obj
不会do_something(:apples)
像我预期的那样打电话。但是,它可能会调用do_something(:bananas)
. 如果是这样,我会遇到意外的调用失败。
我的理解是,由于我将never
期望放在了末尾,因此它仅适用于特定的修改期望。然而,似乎一旦我开始嘲笑我的行为,obj
我就在某种意义上“搞砸了”。
如何允许对do_something
方法的其他调用obj
?
编辑:这是一个清晰的例子,完美地展示了我的问题:
describe 'mocha' do
it 'drives me nuts' do
a = mock()
a.expects(:method_call).with(:apples)
a.lol(:apples)
a.lol(:bananas) # throws an unexpected invocation
end
end