轨钩 - `deliver.action_mailer`不点火

问题描述 投票:0回答:1

我想一些日志/审计增加的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!钩永远不会被解雇。我失踪了一步的地方?

ruby-on-rails actionmailer instrumentation
1个回答
0
投票

在测试环境中的电子邮件不发送,但它们存储在一个数组

#告诉梅勒行动不提供电子邮件,以真实的世界。 #该:测试递送方法累积发送的电子邮件中 #的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
© www.soinside.com 2019 - 2024. All rights reserved.