rails Action Mailer execute_deliveries = false не работает - PullRequest
1 голос
/ 15 января 2020

Я использую rails 5.1.0

В config/environments/test у меня есть config.action_mailer.perform_deliveries = false.

Я использую сервер rails с -e test для выполнения сквозных тестов .

Когда я переключаю сервер обратно в среду разработки, он загружает новую вкладку браузера, отображающую каждое письмо, которое не было отправлено во время моих тестов. Если я запускаю свои тесты 5-6 раз, это приводит к открытию сразу 50 вкладок браузера, когда я возвращаюсь к разработке.

Для perform_deliveries Документация Rails скажем:

Если это значение равно false, массив доставок не будет заполнен, даже если delivery_method: test.

Я также использую sidekiq и redis, поэтому я не был уверен, должен ли я каким-то образом настроить окружение для них.

Есть ли способ для меня, чтобы полностью запретить отправку писем поставлен в очередь в систему в моем тестовом окружении?

1 Ответ

0 голосов
/ 15 января 2020

Вы можете очистить очередь sidekiq после запуска сервера в тестовой среде. Или используйте другое имя очереди в тестовой среде.

Но главное, вы никогда не должны запускать сервер в этом режиме. Для тестирования вы должны использовать юнит-тесты или лучше rspe c.

...