我将 Rails 4.2 与 sidekiq 4.1 结合使用。我想测试我实际上是在排队等待删除用户。现在我正在代码中做这样的事情
User.delay.destroy(user_id)
我已经习惯这样测试了
it { expect(UserRemoveWorker.jobs.size).to eq 1 }
但我没有这样的工作人员,我不想创建一个新工作人员(在本例中为 UserRemoveWorker
),因为我可以简单地调用 delay
方法。
查看我是否已将作业排队/将其写入 Redis 的最佳方法是什么?
谢谢!
最佳答案
assert_equal 1, Sidekiq::Extensions::DelayedClass.jobs.size
https://github.com/mperham/sidekiq/wiki/Testing#testing-delay-and-delay_for-methods
关于ruby-on-rails - 测试使用 .delay 时是否创建了 Sidekiq 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35457073/