z5h*_*z5h 7 ruby integration-testing unit-testing sidekiq
在例外情况下,sidekiq中的作业将被置于重试队列中.
因此,并且因为任务是异步运行的, MyWorker.perform_async(...)所以永远不会抛出在任务代码中生成的异常.
但是,在测试中,任务中发生的异常不会导致任务放入重试队列.异常泡沫了perform_async.
因此,在测试中发生的事情是运行代码时不可能发生的事情.
那么,什么是测试代码的最佳方法,这些代码会触发可能失败的作业并被置于重试队列中?
请注意,以下似乎对测试没有影响:
Sidekiq.default_worker_options = { :retry => true}
它的设计很难,因为你不应该这样做.您不应该测试Sidekiq功能.测试您自己的代码,而不是其他库/框架提供的功能.
| 归档时间: |
|
| 查看次数: |
2056 次 |
| 最近记录: |