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보다 우선합니다.
절차
다음과
같이 단위 테스트 클래스에 포함된 패턴을@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)로 시작해야 함을 나타냅니다.다음 maven 명령을 사용하여 테스트를 실행합니다.
mvn test -Dtest=FooTest