如何测试现有的骆驼路线?
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 "*";
}
我正在尝试测试现有的 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 "*";
}