4

resque-scheduler、30秒ごとにキューに入れられているジョブをrspec-testするにはどうすればよいですか?

これが私のresque-scheduler.ymlファイルです:

hipchat_schedule:
 queue: hipchat
 every: 30s
 class: HipChatPolling

非常に便利なresque_specgemがありますが、-clauseのテストを実行できるかどうかはわかりませんevery

4

1 に答える 1

3

まず、これはあなたの側ではなくresque-scheduler、gem(正確にはgem内)によってテストされていると思います(正確には、テストする必要があります)。rufus-schedulerスケジューリングが行われない場合、それはアプリケーションのバグではなく、gemのバグです。

しかし、とにかくそれをテストしたい場合は、2つの方法があります。

  • ジョブにテスト可能な変更を加え、テストで確認します(たとえば、ファイルをタッチしたり、どこかに開始時刻を記録したりします)。
  • Resqueのキューを監視し、ジョブクラスが2回表示されるまで待機し、2回の出現間の経過時間を計算します。

これを行うResque.inlineには、テストの前に設定が無効になっていることを確認する必要があることに注意してください。

于 2013-03-23T21:59:25.127 に答える