6.14. Camel Spring Boot로 테스트
Spring Boot에서 실행되는 Camel의 경우 Spring Boot는 @Component
로 주석이 추가된 Camel 및 모든 경로를 자동으로 포함합니다. Spring 부팅으로 테스트할 때 @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