【发布时间】:2015-01-19 23:49:11
【问题描述】:
提前致谢! Sidekiq 运行良好,但我无法使用 Devise Async 对其进行测试,或者我应该说我无法测试后者?
根据 Sidekiq 的文档,当测试模式设置为 fake! 时,分配给工作人员的任何工作都会被推送到同一工作人员的名为 jobs 的数组中。所以测试这个数组的增加是很简单的。
但是,使用 Devise Async,它并不是那么简单,尽管它的后端包括 Sidekiq::Worker。以下是我尝试测试的一小部分内容:
Devise::Async::Backend::Sidekiq.jobsDevise::Mailer.deliveriesActionMailer::Base.deliveriesDevise::Async::Backend::Worker.jobs
这些测试对象均未指出体型增加。由于 Devise 将其电子邮件作为模型回调发送,因此我尝试在模型和控制器规范中进行测试。使用 Factory Girl 和 Database Cleaner,我还尝试了两种模式:事务和截断。不用说,我也尝试了 Sidekiq 的两种模式:假的!和内联!。
我错过了什么?
【问题讨论】:
标签: ruby-on-rails-4 devise rspec-rails sidekiq devise-async