我正在从延迟作业迁移到Sidekiq。有一些规范我已经有了,我也想改变它们以与sidekiq兼容。从延迟作业迁移到Sidekiq
it { expect(Delayed::Job.select{|job| job.handler.match(/MyJob/)}.size).to be 0 }
这基本上检查是否没有MyJob DelayJob预定。我如何在sidekiq中为同一项工作测试同样的事情。
我正在从延迟作业迁移到Sidekiq。有一些规范我已经有了,我也想改变它们以与sidekiq兼容。从延迟作业迁移到Sidekiq
it { expect(Delayed::Job.select{|job| job.handler.match(/MyJob/)}.size).to be 0 }
这基本上检查是否没有MyJob DelayJob预定。我如何在sidekiq中为同一项工作测试同样的事情。
使用Sidekiq
如果您使用的基本用法是为特定作业设置自己的工人,即MyJobWorker
。然后,在代码中你可以使用它像这样:
MyJobWorker.perfom_async(id: 5)
然后在你的天赋是作为断言工人有许多工作那样简单:
it { expect(MyJobWorker.jobs.size).to be(0) }
Sidekiq
有一些很不错的docs on testing。
为了给出更具体的答案,请包括更多关于如何设置Sidekiq
工人的代码以及您如何使用工人。