当我希望实际执行该方法时,如何处理rspec应该替换该方法?

当我希望实际执行该方法时,如何处理rspec应该替换该方法?,rspec,expectations,Rspec,Expectations,我刚开始使用rspec should_receive,有很多问题,因为它“取代”了这个方法。例如: UserMailer.should_receive(:new_order).with(order) 为nil:NilClass提供未定义的方法“deliver”,因为rspec使该方法停止工作。如何处理此问题?您可以通过在方法链中添加和\u call\u original来处理此问题,如下所示: UserMailer.should_receive(:new_order).with(order)

我刚开始使用rspec should_receive,有很多问题,因为它“取代”了这个方法。例如:

UserMailer.should_receive(:new_order).with(order) 

为nil:NilClass提供未定义的方法“deliver”,因为rspec使该方法停止工作。如何处理此问题?

您可以通过在方法链中添加
和\u call\u original
来处理此问题,如下所示:

UserMailer.should_receive(:new_order).with(order).and_call_original
如中所述,并在中进行了讨论