1

呼び出しで指定されているように、 sidekiq が X 秒でジョブを適切に実行する (または X 秒で実行されるジョブをキューに入れる) かどうかをテストする方法があるのだろうかperform_in

私が知る限り、ドキュメントはこれを許可するモードについて言及していません。モードでは、ジョブがキューに直接追加され、呼び出しfake時にすぐに実行されるようです。drain

4

1 に答える 1

2

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

それが役立つことを願っています!

于 2015-09-08T14:43:39.043 に答える