我想一些日志/审计增加的ActionMailer在Rails应用程序,我试图钩到deliver.action_mailer
钩,像这样的初始化:
ActiveSupport::Notifications.subscribe 'deliver.action_mailer' do |_name, _start, _finish, _id, payload|
# Do stuff here
end
然而,当我跑我的测试和运行MyMailer.mailer_method.deliver!
钩永远不会被解雇。我失踪了一步的地方?
在测试环境中的电子邮件不发送,但它们存储在一个数组
#告诉梅勒行动不提供电子邮件,以真实的世界。 #该:测试递送方法累积发送的电子邮件中 #的ActionMailer :: Base.deliveries阵列。 config.action_mailer.delivery_method =:测试
你可以写这样的测试:
subject { email.deliver_now }
it 'sends an e-mail' do
expect { subject }.to change { ActionMailer::Base.deliveries.count }.by(1)
end