我正在尝试为我的一条骆驼路线编写单元测试.在路由中有一个处理器,我想用存根替换.有没有办法可以做到这一点?我正在考虑使用拦截功能,但我似乎无法确定最佳方式.
例:
from(start)
.process(myprocessor)
.to(end)
Run Code Online (Sandbox Code Playgroud)
提前致谢.
是的,您可以使用Camel Advicedwith weaveById功能来执行此操作,该功能用于在测试期间替换节点.
你必须在路线中设置处理器的ID,并使用该ID,你可以编织你想要的任何东西.以下是示例,
@Before
protected void weaveMockPoints() throws Exception{
context.getRouteDefinition("Route_ID").adviceWith(context,new AdviceWithRouteBuilder() {
@Override
public void configure() throws Exception {
weaveById("myprocessorId").replace().to(someEndpoint);
}
});
context().start();
}
Run Code Online (Sandbox Code Playgroud)
唯一的问题是,你必须将它应用于尚未启动的路线.最好根据需要进行更改,然后按照上面的示例启动camelcontext.
| 归档时间: |
|
| 查看次数: |
769 次 |
| 最近记录: |