4.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보다 우선합니다.
절차
다음과 같이
@SpringBootTest
주석에 대한 속성으로 단위 테스트 클래스에포함
또는제외
패턴을 지정합니다.@RunWith(CamelSpringBootRunner.class) @SpringBootTest(classes = {MyApplication.class); properties = {"camel.springboot.java-routes-include-pattern=**/Foo*"}) public class FooTest {
FooTest
클래스에서 포함 패턴은**/Foo*
이며, 이는 Cryostat 스타일 패턴을 나타냅니다. 여기에서 패턴은 선행 패키지 이름과 일치하는 이중 별표로 시작됩니다./foo*
는 클래스 이름이 FooRoute로 시작해야 함을 의미합니다.다음 maven 명령을 사용하여 테스트를 실행합니다.
mvn test -Dtest=FooTest