我正在從延遲作業遷移到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
工人的代碼以及您如何使用工人。