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 {

    ECDHE Test 클래스에서 포함 패턴은 **/ECDHE* 이며, 해당 패턴은 10.0.0.1 스타일 패턴을 나타냅니다. 여기서 패턴은 선행 패키지 이름과 일치하는 이중 별표로 시작됩니다. /foo* 는 클래스 이름이 ECDHE(예: ECDHERoute)로 시작해야 함을 나타냅니다.

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

    mvn test -Dtest=FooTest