Согласно Rails documentation, метод assert_emails
позволяет преобразовать синтаксис:NoMethodError: неопределенный метод `assert_emails' в тесте контроллера
assert_difference ->{ ActionMailer::Base.deliveries.size }, +1 do
post :method_that_should_send_email
end
к
assert_emails 1 do
post :method_that_should_send_email
end
который я нахожу намного лучше, потому что я не нужно копировать вставлять длинный синтаксис каждый раз.
Однако я получаю следующую ошибку в моих тестах контроллеров при использовании приведенного выше кода:
NoMethodError: undefined method `assert_emails'
Я предполагаю, что это происходит потому, что метод доступен только в почтовых программах испытаний.
Есть ли способ сделать его доступным для тестов контроллеров? Есть ли веская причина, по которой это невозможно по умолчанию? Есть ли лучший способ проверить, что вызов определенного маршрута приводит к отправке электронной почты?
Спасибо.