基本上,测试配置的设置与 Rails 4 中的工作方式完全相同(传递方法设置为测试等),除了我已替换的已弃用的选项之外,邮件仅使用 Deliver_now 发送,而不是 Deliver_later。 Deliver_later 在开发环境中工作,即使两个环境之间的配置相同。
测试环境邮件配置:
config.action_mailer.delivery_method = :test
config.action_mailer.perform_deliveries = true
config.action_mailer.perform_caching = false
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
我有同样的问题,我转而诉诸于使用断言
enqueued_jobs.size
断言我的邮件已排队。另外,我对使用 Deliver_now 的邮件程序类进行了单元测试。
这需要包括 ActiveJob:TestHelper
class ActiveSupport::TestCase
include ActiveJob::TestHelper
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)