Это работает для меня, используя устаревший 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 {
...