我是按照说明书devise_async按照README和我滚制定2.1.2和delayed_job的。 在我的测试中的黄瓜,我不再收到确认电子邮件作为注册过程的一部分。 有什么是我应该做的测试的一部分? 我已经设定延迟工作在我的测试环境设置以下跳过测试的实际延迟。
Delayed::Worker.delay_jobs = false
但即使有此设置为true,它仍然失败,虽然较为缓慢。 如果我删除devise_async宝石和相关线路,一切阵阵回到生活。
谢谢,格雷姆
我是按照说明书devise_async按照README和我滚制定2.1.2和delayed_job的。 在我的测试中的黄瓜,我不再收到确认电子邮件作为注册过程的一部分。 有什么是我应该做的测试的一部分? 我已经设定延迟工作在我的测试环境设置以下跳过测试的实际延迟。
Delayed::Worker.delay_jobs = false
但即使有此设置为true,它仍然失败,虽然较为缓慢。 如果我删除devise_async宝石和相关线路,一切阵阵回到生活。
谢谢,格雷姆
色器件,异步的新版本将触发邮件的记录已被提交到数据库后。 使用RSpec,每个测试被包裹在由默认事务。 是否黄瓜做? 在这种情况下,你需要把这些测试交易掉。
下面是我用RSpec的: http://www.denniskuczynski.com/2012/06/22/changing-individual-test-configuration-based-on-passed-in-options.html
你可以关闭黄瓜ENV交易
了解如何使用:
https://github.com/cucumber/cucumber/wiki/Browsers-and-Transactions
您是否尝试过使用延迟:: Worker.new.work_off的方法呢? 不知道它适用于异步设计,但它以前为我工作检查电子邮件。
使用这个步骤
Given /^Jobs are being dispatched$/ do
Delayed::Worker.new.work_off
end
运行测试之前电子邮件这一步?
如果您在使用设计,异步与sidekiq,如一些评论者在这里问了,解决的办法是有测试运行工联:
require 'sidekiq/testing'
Sidekiq::Testing.inline!
见https://github.com/mperham/sidekiq/wiki/Testing