我使用devise-async gem以异步方式发送我的设计电子邮件 - 使用Resque。
我正在做一些简单的RSpec控制器测试,以确保通过检查ActionMailer :: Base.deliveries数组来发送忘记的密码。
在我开始使用devise-async gem之前,这曾经工作过。如何立即“发送”队列中的电子邮件,以便它们最终出现在ActionMailer :: Base.deliveries中?
例如 - 当我使用delayed_job异步发送它们(不使用devise-async gem)时,我可以将它添加到我的设计初始化器中:
Delayed::Worker.delay_jobs = !Rails.env.test?
哪个会直接发送电子邮件以便于测试。那么 - 在使用devise-async时我可以使用类似的技术吗?
答案 0 :(得分:3)
我将以下行放在spec_helper.rb中:
Devise::Async.enabled = false
并且有效。
答案 1 :(得分:0)
好的 - 我找到了答案:
在初始化文件中,执行以下操作:
Resque::Mailer.excluded_environments = [:test]
对于一般Resque作业,请添加以下内容:
Resque.inline = Rails.env.test?