should_receive也存根该方法

时间:2014-07-13 13:00:44

标签: ruby rspec

我正在尝试测试流程:

MyClass.should_receive(:my_method) 当我使用上面的代码时,my_method返回nil和 当我不这样做时,它进入方法并完成它的工作。

我不想删除该方法,只是测试它是否正在通过那里。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

来自documentation

  

使用部分模拟对象时,您可能偶尔会想要   设置消息expecation而不干扰对象如何   回应消息。您可以使用and_call_original来实现   此

所以你可以添加到你的代码中:

MyClass.should_receive(:my_method).and_call_original

在新的expect语法中,这将是:

expect(MyClass).to receive(:my_method).and_call_original