필요한 방법은 Mockito # verify입니다 .
public static <T> T verify(T mock,
VerificationMode mode)
mock
당신의 조롱 객체이고 mode
는 IS VerificationMode
모의를 확인하는 방법을 설명하는. 가능한 모드는 다음 과 같습니다.
verify(mock, times(5)).someMethod("was called five times");
verify(mock, never()).someMethod("was never called");
verify(mock, atLeastOnce()).someMethod("was called at least once");
verify(mock, atLeast(2)).someMethod("was called at least twice");
verify(mock, atMost(3)).someMethod("was called at most 3 times");
verify(mock, atLeast(0)).someMethod("was called any number of times"); // useful with captors
verify(mock, only()).someMethod("no other method has been called on the mock");
메소드와 이러한 검증 모드 Mockito
를 사용하려면 클래스에서 정적 가져 오기가 필요 verify
합니다.
import static org.mockito.Mockito.atLeast;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.atMost;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.only;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
따라서 귀하의 경우 올바른 구문은 다음과 같습니다.
Mockito.verify(mock, times(4)).send()
이는 모의 객체 에서 메소드 send
가 4 번 호출 되었는지 확인 합니다. 호출 횟수가 4 회 미만이면 실패합니다.
확인하려는 경우 메소드가 한 번 호출 된 경우을 전달할 필요가 없습니다 VerificationMode
. 간단한
verify(mock).someMethod("was called once");
충분할 것입니다. 내부적으로 사용합니다 verify(mock, times(1)).someMethod("was called once");
.
"사이에"확인을 달성하기 위해 동일한 모의에 대해 여러 개의 확인 호출을 가질 수 있습니다. Mockito는 이와 같은 것을 지원하지 verify(mock, between(4,6)).someMethod("was called between 4 and 6 times");
않지만 우리는 쓸 수 있습니다.
verify(mock, atLeast(4)).someMethod("was called at least four times ...");
verify(mock, atMost(6)).someMethod("... and not more than six times");
대신 같은 행동을 취하십시오. 경계가 포함 되므로 메서드를 4, 5 또는 6 회 호출했을 때 테스트 사례가 녹색입니다.
Mockito.verify(mock, times(4)).send()
. 왜send()
메소드 내부에서verify
메소드 호출 을 "이동"했는지 궁금 합니다 . 이미 올바른 구문을 가지고 있습니다.