它应该是直截了当的,但它对我不起作用。
我正在调用函数调用,我想确保它被调用一次,所以我做了:
MyClass.stubs(:record).returns(true).expect(:record).once
MyClass.run
但我一直在接受:
expected exactly once, not yet invoked: allowed any number of times, invoked once: MyClass.record(any_parameters).record(any_parameters)
我做错了什么?
答案 0 :(得分:1)
您是否尝试在record
上设置两次单独调用的期望?
stubs
只是expects
的语法糖,指定您希望调用零次或多次。
您可能会重写您的示例:
MyClass.expects(:record).returns(true)
请注意,expects
默认情况下暗示了once
部分,但如果您认为它会增加代码的清晰度,则可以添加它。