【发布时间】:2014-08-14 14:03:17
【问题描述】:
我正在使用 Mandrill 发送电子邮件,我在 itinializer 中定义了 $m:
$m = Mandrill::API.new 'XmylongkeygoeshereTg'
我需要测试一个发送电子邮件的函数,所以我需要在现有对象上以某种方式存根 $m.messages.send 方法。我读到stub_chain 是实现这一目标的一种混乱方式,但即使这样也没有用。我尝试的另一种方法是使用allow($m.messages).to :
it "sends emails to a group" do
# stub Mandril's email sending, so no actual emails will be sent.
allow($m.messages).to receive(:send) { nil }
expect(subject.my_sending_emails_method).to be_true
end
虽然没有错误,但也没有存根的影响 - 电子邮件仍在发送中。
请建议如何存根?
【问题讨论】:
标签: object rspec stub chain defined