1

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

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

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)

我究竟做错了什么?

4

1 回答 1

1

您是否试图为 2 个单独的调用设定期望record

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

您可能可以这样重写您的示例:

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

请记住,expects默认情况下这意味着该once部分,但如果您认为它可以增加代码的清晰度,您可以添加它。

于 2014-08-26T10:48:14.673 回答