我有一个Spring Boot应用程序,使用的版本是1.5.8,同时包含Camel 2.20.1。
简单路由:
@Component
public class MyRoute extends RouteBuilder {
public static final String IN = "file://in";
public static final String OUT = "file://out";
@Override
public void configure() throws Exception {
from(IN).routeId("myId").to(OUT);
}
}
简单测试:
//@SpringBootTest
public class MyRouteTest extends CamelTestSupport {
@Produce(uri = MyRoute.IN)
private ProducerTemplate producerTemplate;
@EndpointInject(uri = "mock:file:out")
private MockEndpoint mockEndpointOut;
@Override
public String isMockEndpoints() {
return "*";
}
@Test
public void simpleTest() throws Exception {
mockEndpointOut.expectedMessageCount(1);
producerTemplate.sendBody("Test");
mockEndpointOut.assertIsSatisfied();
}
@Override
protected RoutesBuilder createRouteBuilder() throws Exception {
return new MyRoute();
}
}
当我运行这个测试时,它可以正常运行并且我能够得到一条消息,而且端点也满足要求。但是,如果我添加
@SpringBootTest
注释,测试就会失败?为什么?
此外,即使在没有注释的情况下运行 maven clean install 也会失败 :(有人知道这个注释对 camel 测试的影响是什么,或者如何调整它使其正常工作吗?
谢谢