我正在使用devise-async gem异步发送我的devise电子邮件-使用Resque。
我正在做一些简单的RSpec控制器测试,通过检查ActionMailer::Base.deliveries数组来确保发送忘记的密码。
在我开始使用devise-async gem之前,这是可行的。我如何才能立即“发送”队列中的电子邮件,使它们以ActionMailer::Base.deliveries格式结束?
例如,当我使用delayed_job异步发送它们(而不是使用devise-async gem)时,我可以将以下代码添加到我的devise初始化器中:
Delayed::Worker.delay_jobs = !Rails.env.test?
这将直接发送电子邮件,使其更容易测试。那么,当我使用devise-async时,有没有类似的技术可以使用呢?
发布于 2012-09-29 18:21:32
好的--我找到答案了:
在初始化器文件中,执行以下操作:
Resque::Mailer.excluded_environments = [:test]
对于常规Resque作业,添加以下内容:
Resque.inline = Rails.env.test?
发布于 2013-08-16 20:02:35
我在spec_helper.rb中放入了以下代码行:
Devise::Async.enabled = false
而且它起作用了。
https://stackoverflow.com/questions/12473060
复制相似问题