2013-03-21 44 views
4

resque-scheduler,我如何rspec測試某個工作排隊每30秒?測試resque-scheduler

這裏是我的resque-scheduler.yml文件:

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

有非常有用resque_spec寶石,但我不知道這是否能爲every -clause做測試。

+1

resque_spec僅允許您測試作業是否已排隊 - 使用該gem無法測試調度過程(加載yaml文件)。我正在尋找一個測試排程過程的寶石(如果我找不到的話,可能會自己做一個) – Sid 2013-03-23 21:49:00

回答

3

首先,我認爲這是經過測試 - 並且必須經過測試 - 由resque-scheduler寶石(或準確地說,在rufus-scheduler寶石中),不在您身邊。如果調度沒有發生,那麼它不是你的應用程序中的錯誤,而是寶石中的一個錯誤。

但是,如果你無論如何要測試它,你有兩個辦法做到這一點:

  • 使作業一些可檢驗的變化和試驗檢查(如觸摸一個文件,日誌開始時間某處等
  • 監視器Resque的隊列,等待作業類出現兩次,並計算兩個外觀之間流逝的時間。

注意,要做到這一點,你必須確保Resque.inline設置在測試之前禁用!

+0

謝謝@Gabor Garami! – 2013-03-26 16:15:26