使用Rspec测试Sidekiq工作人员

Kam*_*esh 2 ruby rspec ruby-on-rails sidekiq

我如何测试以下代码行使用rspec在5分钟内调用'perform'?

CustomSidekiqWorker.perform_in(5.minutes, parameter1)
Run Code Online (Sandbox Code Playgroud)

Phi*_*rom 6

如果您在运行测试时将Sidekiq设置为使用内联处理:

require 'sidekiq/testing'
Sidekiq::Testing.inline!
Run Code Online (Sandbox Code Playgroud)

那么以下内容应该适用于您的规范:

expect(CustomSideWorker).to receive(:perform_in).with(5.minutes, parameter1)
Run Code Online (Sandbox Code Playgroud)