测试使用 .delay 时是否创建了 Sidekiq 作业
Test if a Sidekiq job has been created when using .delay
我正在使用 Rails 4.2 和 sidekiq 4.1。我想测试我实际上是在排队等待删除用户。现在我正在代码中做这样的事情
User.delay.destroy(user_id)
而且我习惯这样测试
it { expect(UserRemoveWorker.jobs.size).to eq 1 }
但我没有这样的工作人员,我不想在我可以简单地调用 delay
方法时创建一个新工作人员(在本例中为 UserRemoveWorker
)。
查看我是否已将作业排队/将其写入 Redis 的最佳方法是什么?
谢谢!
assert_equal 1, Sidekiq::Extensions::DelayedClass.jobs.size
https://github.com/mperham/sidekiq/wiki/Testing#testing-delay-and-delay_for-methods
我正在使用 Rails 4.2 和 sidekiq 4.1。我想测试我实际上是在排队等待删除用户。现在我正在代码中做这样的事情
User.delay.destroy(user_id)
而且我习惯这样测试
it { expect(UserRemoveWorker.jobs.size).to eq 1 }
但我没有这样的工作人员,我不想在我可以简单地调用 delay
方法时创建一个新工作人员(在本例中为 UserRemoveWorker
)。
查看我是否已将作业排队/将其写入 Redis 的最佳方法是什么?
谢谢!
assert_equal 1, Sidekiq::Extensions::DelayedClass.jobs.size
https://github.com/mperham/sidekiq/wiki/Testing#testing-delay-and-delay_for-methods