ruby-on-rails-4 – 如何使用Sidekiq测试Devise Async?

提前致谢!
Sidekiq工作正常,但我无法用Devise Async测试它,或者我应该说我不能测试后者?

根据Sidekiq的文档,当测试模式设置为fake!时,给予worker的任何作业都会被推送到名为相同worker的作业的数组中.因此测试这个数组的增加是微不足道的.

但是,使用Devise Async,虽然它的后端包括Sidekiq :: Worker,但它并非如此微不足道.这是我尝试测试的一小部分内容

> Devise :: Async :: Backend :: Sidekiq.jobs
> Devise :: Mailer.deliveries
> ActionMailer :: Base.deliveries
> Devise :: Async :: Backend :: Worker.jobs

这些测试对象都没有指出尺寸的增加.由于Devise将其电子邮件作为模型回调发送,我尝试在模型和控制器规范中进行测试.使用Factory Girl和Database Cleaner,我也尝试了两种模式:事务和截断.毋庸置疑,我也尝试了Sidekiq的两种模式:假的!和内联!

我错过了什么?

解决方法

documentation中所述,您可以将队列大小检查为
Sidekiq::Extensions::DelayedMailer.jobs.size

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...