2013-06-21 35 views
1

使用Apache的駱駝2.9.1你如何測試Apache Cache Timer路由?

我如何單元測試類似於下面的東西?

public class MyRoute extends RouteBuilder { 
    @Override 
    public void configure() throws Exception { 

     from("timer.something?delay=0?repeatCount=1") 
      // do some stuff 
      .to("{{some.endpoint}}") 
      .end() 

     from("timer.somethingelse?delay=3000&period=1000") 
      // do some stuff 
      .to("{{some.other.endpoint}}") 
      .end 
    } 
} 

回答

3

什麼是你想在這裏單元測試? 因爲它的無能單元測試定時器組件(我指的是單元測試,如果它觸發與否;如果其屬性的工作,因爲它應該是):駱駝隊做了已經。

什麼是邏輯在這裏單元測試是「//做一些東西」的一部分,這你會被嘲笑的端點做。您的第一條路線將自動啓動,而第二條路線將首先延遲。你至少要等這麼多才能斷言。在這些類型的情況下,我通常讀取屬性文件端點的屬性,如

from("timer:somethingelse?{{2nd.timer.properties}}") 

,並且可以設置爲

2nd.timer.properties=delay=3000&period=1000 //in prod 
2nd.timer.properties=delay=0 //during tests 

這樣一個在啓動時觸發爲好。希望幫助,

蓋爾蓋伊