2013-06-21 37 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 

这样一个在启动时触发为好。希望帮助,

盖尔盖伊