使用CamelSpringRunner和JavaConfig的MockEndpoints

时间:2019-03-08 23:00:52

标签: spring testing apache-camel

这对我使用不推荐使用的CamelSpringDelegatingTestContextLoader有用,我认为不应该使用它,因为它重复了CamelTestContextBootstrapper的工作。如果我省略CamelSpringDelegatingTestContextLoader,则测试将无法自动装配CamelContext(找不到bean,如果我注释CamelContext,则输入为空),因此注入无法正常进行。但这是实现测试的建议方法(例如CamelSpringRunnerPlainTest)。 我的骆驼版本是2.21.2。 CamelBootSpringRunner也可以工作,但是我不想在不需要Spring Boot的情况下运行测试。另外我也不想扩展像SpringTestSupport这样的类。

    @RunWith(CamelSpringRunner.class)
@BootstrapWith(CamelTestContextBootstrapper.class)
@MockEndpoints
@DirtiesContext(
        classMode = DirtiesContext.ClassMode.AFTER_CLASS)
@ContextConfiguration(loader = CamelSpringDelegatingTestContextLoader.class,
    classes = MyTest.TestConfig.class)
public class MyTest {

    @Autowired
    protected CamelContext camelContext;

    @Produce(uri = "direct:in")
    private ProducerTemplate input;
...
@Configuration
static class TestConfig extends CamelConfiguration {
...

0 个答案:

没有答案