正在使用 Spring Boot,我刚刚向其中添加了骆驼。
我有一个简单的骆驼路线设置:
import org.apache.camel.builder.RouteBuilder;
import org.springframework.stereotype.Component;
@Component
public class MyRoute extends RouteBuilder {
@Override
public void configure() throws Exception {
from("file://in").to("file://out");
}
}
当我尝试为这条路线创建简单的测试时:
@RunWith(CamelSpringBootRunner.class)
@SpringBootTest
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
public class MyRouteTest extends CamelTestSupport {
@Autowired
private CamelContext camelContext;
@Produce(uri = "file://in")
private ProducerTemplate producerTemplate;
@EndpointInject(uri = "mock:file://out")
private MockEndpoint mockEndpoint;
@Test
public void routeTest() throws Exception {
mockEndpoint.expectedMessageCount(1);
producerTemplate.sendBody("Test");
mockEndpoint.assertIsSatisfied();
}
}
它失败了
mock://file://out Received message count. Expected: <1> but was: <0>
不确定这里可能有什么问题。我有生产者模板,该模板将 uri 作为我从点的路线,并且正在使用 EndpointInject 和模拟 uri 模拟到端点?
你需要添加
@Override
public String isMockEndpoints() {
return "*";
}
这应该模拟所有端点,然后您可以使用 mock:file:out 例如
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句