加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 04:39:06 所属栏目:百科 来源:网络整理
导读:提前致谢! Sidekiq工作正常,但我无法用Devise Async测试它,或者我应该说我不能测试后者? 根据Sidekiq的文档,当测试模式设置为fake!时,给予worker的任何作业都会被推送到名为相同worker的作业的数组中.因此测试这个数组的增加是微不足道的. 但是,使用Devis
提前致谢!
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读