Jam*_*azs 4 ruby-on-rails ruby-on-rails-4 rails-activejob ruby-on-rails-5
基本上,测试配置的设置与 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' }
Run Code Online (Sandbox Code Playgroud)
小智 7
我有同样的问题,我转而诉诸于使用断言
enqueued_jobs.size
Run Code Online (Sandbox Code Playgroud)
断言我的邮件已排队。另外,我对使用 Deliver_now 的邮件程序类进行了单元测试。
这需要包括 ActiveJob:TestHelper
class ActiveSupport::TestCase
include ActiveJob::TestHelper
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2641 次 |
| 最近记录: |