227장. mock 구성 요소


Camel 버전 1.0에서 사용 가능

분산 및 비동기 처리 테스트는 매우 어렵습니다. Mock,Test 및 Cryostat 끝점은 Camel 테스트 프레임워크와 함께 엔터프라이즈 통합 패턴 및 Camel의 다양한 구성 요소와 함께 단위 및 통합 테스트를 단순화합니다. ???

Mock 구성 요소는 테스트가 시작되기 전에 모든 Mock 엔드포인트에서 선언적 기대치를 생성할 수 있다는 점에서 jMock 과 유사한 강력한 선언적 테스트 메커니즘을 제공합니다. 그런 다음 테스트를 실행하여 일반적으로 하나 이상의 엔드포인트에 메시지를 발생시키고 마지막으로 시스템이 예상대로 작동하는지 확인하기 위해 테스트 사례에서 기대치를 평가할 수 있습니다.

이렇게 하면 다음과 같은 다양한 테스트를 수행할 수 있습니다.

  • 각 끝점에서 올바른 메시지 수가 수신됩니다.
  • 올바른 페이로드가 올바른 순서로 수신됩니다.
  • 메시지는 주문 테스트 함수를 만들기 위해 일부 표현식을 사용하여 엔드포인트에 순서대로 도착합니다.
  • 메시지는 특정 헤더에 특정 값이 있거나 messages의 일부가 Cryostat 또는 XQuery Expression을 평가하는 것과 같은 일부 서술자와 일치하는 일종의 Predicate와 일치합니다. ???
참고

Mock 엔드포인트인 Test 엔드포인트 도 있지만 두 번째 끝점을 사용하여 예상 메시지 본문 목록을 제공하고 Mock 엔드포인트 어설션을 자동으로 설정합니다. 즉, 파일 또는 데이터베이스 의 일부 샘플 메시지에서 자동으로 어설션을 설정하는 Mock 엔드포인트입니다.

경고

모크 끝점은 수신된 교환을 무기한 메모리에 유지합니다.

Mock은 테스트를 위해 설계되었습니다. 경로에 Mock 엔드포인트를 추가하면 명시적으로 재설정하거나 JVM이 다시 시작될 때까지 엔드포인트로 전송된 각 교환이 메모리에 저장됩니다(나중에 유효성 검사 가능). 대용량 및/또는 대용량 메시지를 보내는 경우 과도한 메모리 사용이 발생할 수 있습니다. 배포 가능한 경로를 인라인으로 테스트하는 것이 목표인 경우 경로에 Mock 엔드포인트를 직접 추가하는 대신 테스트에 NotifyBuilder 또는 AdviceWith를 사용하는 것이 좋습니다.

Camel 2.10 이후의 새로운 옵션은 두 가지로 유지되며 Mock 엔드포인트가 메모리에 보관하는 메시지 수를 제한하는 데 사용할 수 있는 두 가지 새로운 옵션이 있습니다.

227.1. URI 형식

mock:someName[?options]

여기서 someName 은 끝점을 고유하게 식별하는 모든 문자열일 수 있습니다.

URI에 쿼리 옵션을 추가할 수 있습니다. ?option=value&option=value&…​

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.