Rails-хуки - `delivery.action_mailer` не запускается - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь добавить журналирование / аудит в 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!, крюк никогда не срабатывает.Я где-то пропускаю шаг?

1 Ответ

0 голосов
/ 11 февраля 2019

В тестовой среде электронные письма не отправляются, но они хранятся в массиве

# Скажите Action Mailer не доставлять электронную почту в реальный мир.
# The: test deliveryМетод накапливает отправленные письма в массиве
# ActionMailer :: Base.deliveries.
config.action_mailer.delivery_method =: test

Вы можете написать тест как:

subject { email.deliver_now }

it 'sends an e-mail' do
  expect { subject }.to change { ActionMailer::Base.deliveries.count }.by(1)
end
...