提前感谢!Sidekiq运作良好,但我无法使用Devise Async进行测试,或者说我不能测试后者?
根据Sidekiq的文档,在将测试模式设置为fake!时,分配给worker的任何作业都会被推送到该worker的名为jobs
的数组中。因此,测试该数组增加是微不足道的。
但是,对于Devise Async而言,这并不那么微不足道,尽管其后端包括Sidekiq::Worker
。以下是我尝试测试的一些内容:
Devise::Async::Backend::Sidekiq.jobs
Devise::Mailer.deliveries
ActionMailer::Base.deliveries
Devise::Async::Backend::Worker.jobs
这些测试主题都没有指向任何大小的增加。由于Devise将其电子邮件作为模型回调发送,因此我尝试在模型和控制器spec中进行测试。我还使用Factory Girl和Database Cleaner尝试了两种模式:transaction和truncation。不用说,我也尝试了Sidekiq的两种模式:fake!和inline!。
我错过了什么?