Apache Тест Camel Springboot: верблюжий контекст равен нулю - PullRequest
0 голосов
/ 16 февраля 2020

Я пытаюсь написать простой простой тест пружины для Apache Camel. Моя цель - просто проверить, запущен ли верблюжий контекст.

Код:

@RunWith(CamelSpringRunner.class)
@BootstrapWith(CamelTestContextBootstrapper.class)
@ContextConfiguration()
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
class CamelPocApplicationTests {

    @Autowired
    protected CamelContext camelContext;

    @Test
    void contextLoads() {
        assertEquals(ServiceStatus.Started, camelContext.getStatus());
    }

}

, но проверка не пройдена, поскольку верблюжий контекст равен нулю. Что я делаю не так?

РЕДАКТИРОВАТЬ:

У меня наконец-то появилось время снова поработать над этим проектом. Правильная конфигурация:

@RunWith(CamelSpringBootRunner.class)
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
@SpringBootTest
class CamelPocApplicationTests {

    @Autowired
    protected CamelContext camelContext;

    @Test
    void contextLoads() {
        assertEquals(ServiceStatus.Started, camelContext.getStatus());
    }

}

Таким образом, тест работает.

Спасибо, ребята! Я обращаюсь к этому ответу для получения дополнительной информации.

Теперь мои вопросы:

  1. Почему тест Camel документация гласит иначе? Почему нет аннотации @SpringBootTest и почему при загрузке с помощью CamelTestContextBootstrapper.class тест тоже не выполняется?
  2. В чем разница между @RunWith (CamelSpringRunner.class) и @RunWith (CamelSpringBootRunner.class) Я заметил, что тест будет проходить так же.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...