226장. 모크 구성 요소
Camel 버전 1.0에서 사용 가능
분산 및 비동기 처리 테스트는 매우 어렵습니다. Mock,Test 및 DestinationRule 엔드포인트는 Camel Testing Framework와 함께 사용되어 Enterprise Integration Patterns 및 Camel의 다양한 구성 요소와 강력한 빈 통합 기능을 사용하여 단위 및 통합 테스트를 단순화합니다. ???
Mock 구성 요소는 테스트가 시작되기 전에 선언적 엔드 포인트에서 선언적 기대치를 생성할 수 있다는 점에서 jMock 과 유사한 강력한 선언 테스트 메커니즘을 제공합니다. 그런 다음 테스트가 실행되고, 일반적으로 하나 이상의 끝점으로 메시지를 실행하고 마지막으로 시스템이 예상대로 작동하는지 확인하기 위해 테스트 사례에서 기대치를 주장할 수 있습니다.
이렇게 하면 다음과 같은 다양한 사항을 테스트할 수 있습니다.
Mock 엔드 포인트인 Test 끝점 도 있지만 두 번째 끝점을 사용하여 예상되는 메시지 본문 목록을 제공하고 Mock 끝점 어설션을 자동으로 설정합니다. 즉, 파일 또는 데이터베이스 의 일부 샘플 메시지에서 어설션을 자동으로 설정하는 Mock 끝점입니다.
Mock 끝점은 메모리에서 수신 된 교환을 무기한 유지합니다.
Mock은 테스트를 위해 설계되었습니다. 경로에 Mock 끝점을 추가하면 명시적으로 재설정하거나 JVM이 다시 시작될 때까지 엔드포인트에 전송된 각 Exchange가 메모리에 저장됩니다. 볼륨 및/또는 대규모 메시지를 전송하는 경우 과도한 메모리 사용이 발생할 수 있습니다. 배치 가능한 경로를 인라인으로 테스트하는 것이 목표인 경우 경로에 Mock 끝점을 직접 추가하는 대신 테스트에서 NotifyBuilder 또는 AdviceWith를 사용하는 것이 좋습니다.
Camel 2.10 이후에는 두 가지 새로운 옵션이 있으며 Mock 엔드포인트가 메모리에 유지되는 메시지 수를 제한하는 데 사용할 수 있는 두 가지 새로운 옵션은 First
를 유지합니다
.
226.1. URI 형식 링크 복사링크가 클립보드에 복사되었습니다!
mock:someName[?options]
mock:someName[?options]
여기서 someName
은 끝점을 고유하게 식별하는 모든 문자열이 될 수 있습니다.
?option=value&option=value&… 형식의 URI에 쿼리 옵션을
추가할 수 있습니다.