Mockito로 비결정적 응답 테스트
비결정적 서비스와 상호 작용하는 코드를 테스트할 때 결과가 관계없이 일정하게 유지되는지 확인하기 어려울 수 있습니다. 메소드의 반환 순서. 예를 들어, ExecutorCompletionService를 사용하여 작업을 그룹화하고 처리하는 다음 코드를 테스트해 보세요.
<code class="java">ExecutorCompletionService<T> completionService = new ExecutorCompletionService<>(service); for (Callable<T> t : ts) completionService.submit(request); for (int i = 0; i < calls.size(); i ++) { try { T t = completionService.take().get(); // do some stuff that I want to test } catch (...) { } }</code>
이 문제를 해결하기 위해 Mockito는 다른 개체를 반환하도록 메서드의 후속 호출을 구성하는 수단을 제공합니다. thenReturn 메서드를 사용하면 반환할 객체를 순서대로 지정할 수 있습니다.
<code class="java">when(method-call).thenReturn(value1, value2, value3);</code>
각 값은 순차적으로 반환되며, 다른 모든 값이 소진되면 마지막 값이 반복적으로 사용됩니다. 이를 통해 다양한 시나리오를 테스트하고 반품 순서에 관계없이 결과가 일관되게 유지되는지 확인할 수 있습니다.
위 내용은 Mockito를 사용하여 비결정적 응답을 어떻게 테스트할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!