Camel-Spring测试时间路由排除

Camel-Spring test time route exclusion

我如何单元测试(使用 JUnitApache Camel route 定义在 Spring 上下文文件中?

由于 Spring 上下文文件可能有多个其他路由和 bean 定义,我只想隔离这条路由并只初始化它引用的 beans。

Camel-Spring page 上的主题 测试时间排除 讨论了这种情况,但它适用于 Route Builders 中定义的Java(不在Spring)。

我正在使用 Camel 2.6

你不能,Spring 从它的文件中加载所有 bean。您需要将 spring 内容分成多个 xml 文件,然后仅加载需要测试的 xml 文件。

我不确定您是否可以按照自己的方式对一条路线进行单元测试。
关于排除,可以通过注释test class with:

来实现
@SpringBootTest(
        webEnvironment = SpringBootTest.WebEnvironment.NONE,
        properties = {
                "camel.springboot.xmlRoutes=false",
                "camel.springboot.javaRoutesExcludePattern=com/custompackage/**"
        })