7.16. Camel Spring Boot로 테스트

Camel이 Spring Boot에서 실행되면 Spring Boot에 @Component 로 주석이 추가된 Camel 및 모든 경로가 자동으로 포함됩니다. Spring Boot로 테스트할 때 @ContextConfiguration 대신 @SpringBootTest 를 사용하여 사용할 구성 클래스를 지정합니다.

다른 RouteBuilder 클래스에 Camel 경로가 여러 개인 경우 Camel Spring Boot 구성 요소는 애플리케이션을 실행할 때 이러한 모든 경로를 자동으로 포함합니다. 따라서 하나의 RouteBuilder 클래스에서만 경로를 테스트하려면 다음 패턴을 사용하여 활성화할 RouteBuilders를 포함하거나 제외할 수 있습니다.

  • java-routes-include-pattern: 패턴과 일치하는 RouteBuilder 클래스를 포함하는 데 사용됩니다.
  • java-routes-exclude-pattern: 패턴과 일치하는 RouteBuilder 클래스를 제외하는 데 사용됩니다. exclude는 include보다 우선합니다.

절차

  1. 다음과 같이 @SpringBootTest 주석에 대한 속성으로 단위 테스트 클래스에 포함 또는 제외 패턴을 지정합니다.

    @RunWith(CamelSpringBootRunner.class)
    @SpringBootTest(classes = {MyApplication.class);
       properties = {"camel.springboot.java-routes-include-pattern=**/Foo*"})
    public class FooTest {

    FooTest 클래스에서 포함 패턴은 **/Foo* 이며, 이는 Cryostat 스타일 패턴을 나타냅니다. 여기에서 패턴은 선행 패키지 이름과 일치하는 이중 별표로 시작됩니다. /foo* 는 클래스 이름이 FooRoute로 시작해야 함을 의미합니다.

  2. 다음 maven 명령을 사용하여 테스트를 실행합니다.

    mvn test -Dtest=FooTest