44.13. 유지할 메시지 수 제한
기본적으로 Mock 끝점은 수신한 모든 Exchange 사본을 보관합니다. 따라서 많은 메시지로 테스트하면 메모리를 사용합니다.
첫 번째 및/또는 마지막 교환의 N'th만 유지하도록 지정하는 데 사용할 수 있는First 및 retainLast 두 가지 옵션을 도입했습니다.
예를 들어 아래 코드에서 첫 번째 5 및 마지막 5 교환의 복사본만 유지하려고 합니다.For example, in the code below, we only want to retain a copy of the first 5 and last 5 Exchanges.
MockEndpoint mock = getMockEndpoint("mock:data");
mock.setRetainFirst(5);
mock.setRetainLast(5);
mock.expectedMessageCount(2000);
mock.assertIsSatisfied();
이를 사용하는 데는 몇 가지 제한 사항이 있습니다. MockEndpoint 의 getExchanges() 및 getReceivedExchanges() 메서드는 교환의 보존 복사본만 반환합니다. 따라서 위의 예에서 목록에는 10 개의 교환; 첫 번째 5 개 및 마지막 5 개의 교환이 포함됩니다.
retainFirst 및 retainLast 옵션에서도 사용할 수 있는 예상 방법에 제한이 있습니다. 예를 들어 메시지 본문, 헤더 등에 적용되는 expectedXXX 방법은 보존 메시지에서만 작동합니다. 위의 예에서는 10개의 보존 메시지에 대한 기대치만 테스트할 수 있습니다.