我正在编写一个调用
Sidekiq::Testing.fake!
的测试。该测试旨在断言特定作业引发错误时发生的行为。
通常,如果出现错误,作业应该重试最多 5 次,但在我在作业的 Worker 类上调用
.drain
后,作业运行一次,然后就消失了。我尝试调用 Sidekiq::RetrySet.new
和 Sidekiq::DeadSet.new
来查看作业是否已移动到这两个队列中的任何一个,但是每个队列的 size
都是 0。我还检查了工人类的 .jobs
数组,它也是空的。
我错过了什么吗?使用
Sidekiq::Testing.fake!
时是否可以复制重试行为?
你没有错过任何东西。您正在尝试测试 Sidekiq 功能。您的测试应该测试您的功能。 Sidekiq::Testing 不提供集成测试功能。