Ruby上的Mocha:检查一次调用的存根函数

时间:2014-08-26 08:04:12

标签: ruby-on-rails ruby mocha

它应该是直截了当的,但它对我不起作用。

我正在调用函数调用,我想确保它被调用一次,所以我做了:

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)

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您是否尝试在record上设置两次单独调用的期望?

stubs只是expects的语法糖,指定您希望调用零次或多次。

您可能会重写您的示例:

MyClass.expects(:record).returns(true)

请注意,expects默认情况下暗示了once部分,但如果您认为它会增加代码的清晰度,则可以添加它。