【发布时间】:2017-03-02 18:11:06
【问题描述】:
我需要确保运行导入程序会发送电子邮件。
这是我目前得到的:
describe '#import' do
it 'triggers the correct mailer and action', :vcr do
expect(OrderMailer).to receive(:delivery_confirmation).with(order)
Importer.new(@file).import
remove_backed_up_file
end
end
它失败了:
pry(#<ActiveRecord::ConnectionAdapters::TransactionManager>)> error
=> #<NoMethodError: undefined method `deliver_now' for nil:NilClass>
这显然无法解决,因为我期望 Mailer 类接收(实例)方法调用。但是我怎样才能获得将接收呼叫的邮件程序实例呢?你将如何测试一个单元的方法是否触发了某个邮件程序?
【问题讨论】:
标签: ruby-on-rails rspec