呼び出しで指定されているように、 sidekiq が X 秒でジョブを適切に実行する (または X 秒で実行されるジョブをキューに入れる) かどうかをテストする方法があるのだろうかperform_in
。
私が知る限り、ドキュメントはこれを許可するモードについて言及していません。モードでは、ジョブがキューに直接追加され、呼び出しfake
時にすぐに実行されるようです。drain
呼び出しで指定されているように、 sidekiq が X 秒でジョブを適切に実行する (または X 秒で実行されるジョブをキューに入れる) かどうかをテストする方法があるのだろうかperform_in
。
私が知る限り、ドキュメントはこれを許可するモードについて言及していません。モードでは、ジョブがキューに直接追加され、呼び出しfake
時にすぐに実行されるようです。drain
fake
モードの場合は、Workers ジョブにアクセスできますMyWorker.jobs
。
ジョブをスケジュールした場合、実行時間を (浮動小数点として)表示perform_in
するフィールドが必要です。at
私は次の行に沿ってrspecテストを書きました
subject { MyWorker.jobs.first }
it 'is scheduled in 1 minute' do
span = subject['at'] - Time.now.to_f
expect(span.round).to eq 60
end
それが役立つことを願っています!