【发布时间】:2015-02-18 22:40:44
【问题描述】:
我想测试一个包含MessageMailer.message_notification(self).deliver 方法的方法。 MessageMailer 有点慢,而且我正在编写的测试没有测试它,所以我希望交付不在测试块中运行。
目前,我正在通过 stubing 来实现这一点。
before do
mail = double('email', deliver: true)
MessageMailer.stub(:message_notification) { mail }
end
但我听说 stub 将来会被 double 取代,并且 MessageMailer.double(:message_notification) 在我的 Rspec (2.12.2) 版本中失败并出现 NoMethodError for double 。我应该如何用 double 重写此代码以防止调用 Deliver 方法?
【问题讨论】: