如何测试现有的骆驼路线?

How to test an existing camel route?

我正在尝试测试现有的 Camel 路线,但事实证明它比我预期的要困难得多。我在网上看到的大多数文档似乎都是在测试中创建一条新路由,然后对其进行测试。如何测试已经创建的路由?

为简单起见,我创建了我能想到的最简单的路线,但我终究无法弄清楚如何在测试中使用该路线。

路线如下:

@Component
public class TestRouteBuilder extends RouteBuilder{

@Override
public void configure() throws Exception {
    from("direct:testStart")
            .log("Log triggered.")
            .to("direct:testEnd");
}
}

如何在测试中使用这条路线?

我在 Spring Boot 中使用 Camel,所以我的第一个想法是将路由注入到测试中,但这似乎不起作用。

感谢任何帮助,谢谢。

这可以通过多种方式实现。这是一种方式:

context.getRouteDefinitions().get(0).adviceWith(context, new AdviceWithRouteBuilder() {
   @Override
   public void configure() throws Exception {
      weaveAddLast().to("mock:result");
   }
});

您也可以使用 CamelTestSupport:

@Override
public String isMockEndpoints() {
   // override this method and return the pattern for which endpoints to mock.
   // use * to indicate all
   return "*";
}