如何在 Spring Boot Camel 项目中测试 Camel - 所有 @EndpointInject 都为 null 但 @Autowired 有效?
How to test a Camel in Spring Boot Camel project - all @EndpointInject are null but @Autowired working?
我有一个非常简单的 Spring Boot (2.5.1)/ Apache Camel (3.10.0) 应用程序,我正在努力创建一个简单的测试。在我的例子中,它甚至无法注入端点:
所以我的第一个简单尝试就是让这个变绿:
@CamelSpringBootTest
class UnmarshalXmlTest {
@EndpointInject("mock:out")
MockEndpoint outEndpoint;
@Produce("direct:in")
ProducerTemplate template;
@Test
void test() {
assertNotNull(outEndpoint);
assertNotNull(template);
}
}
但它是红色的。遗憾的是 the documentation is outdated (uses deprecated SingleRouteCamelConfiguration) and it is also not showing how to test a given route. The other doc 也无济于事(使用 @CamelSpringTest
也无济于事)。
似乎 spring 注释有效 - 通过 @Autowired
添加内容有效!
这个 表明它应该可以正常工作?!那么如何让骆驼注解生效呢?
看来你还需要@SpringBootTest注解才能解决
@CamelSpringBootTest
@SpringBootTest
class UnmarshalXmlTest {
...
}
我有一个非常简单的 Spring Boot (2.5.1)/ Apache Camel (3.10.0) 应用程序,我正在努力创建一个简单的测试。在我的例子中,它甚至无法注入端点:
所以我的第一个简单尝试就是让这个变绿:
@CamelSpringBootTest
class UnmarshalXmlTest {
@EndpointInject("mock:out")
MockEndpoint outEndpoint;
@Produce("direct:in")
ProducerTemplate template;
@Test
void test() {
assertNotNull(outEndpoint);
assertNotNull(template);
}
}
但它是红色的。遗憾的是 the documentation is outdated (uses deprecated SingleRouteCamelConfiguration) and it is also not showing how to test a given route. The other doc 也无济于事(使用 @CamelSpringTest
也无济于事)。
似乎 spring 注释有效 - 通过 @Autowired
添加内容有效!
这个
看来你还需要@SpringBootTest注解才能解决
@CamelSpringBootTest
@SpringBootTest
class UnmarshalXmlTest {
...
}