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

前端之家收集整理的这篇文章主要介绍了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

猜你在找的Ruby相关文章