Java는 Mockito를 사용하여 비활성 메서드 호출을 n회 확인합니다.
DAO 내에서 (void) 메서드가 호출되고 있는지 확인하려고 합니다.그 시점까지 결과 목록을 전송하고 목록을 리셋한 후 계속하는 커밋 포인트를 사용하고 있습니다.리스트에 4개의 항목이 있고 커밋 포인트가 1이라고 하면, 「송신」메서드가 4회 호출되는 것을 상정하고 있습니다.메서드가 한 번 호출되는 것을 서면으로 확인할 수 있습니다.
Mockito.verify(mock).send()
지나간다..호출 횟수를 확인하고 싶습니다.라고 생각합니다.
Mockito.verify(mock.send(), times(4))
충분한데 검증용 파라미터가 올바르지 않다고 합니다.
덧붙여서, 만약 내가 변한다면Mockito.verify(mock).send()
로.Mockito.verify(mock.send())
또는Mockito.verify((mock).send())
같은 에러가 발생.어떻게 생각해?
필요한 방법은 Mockito#verify 입니다.
public static <T> T verify(T mock,
VerificationMode mode)
mock
당신의 조롱의 대상이고mode
는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");
이 클래스로부터의 스태틱 Import가 필요합니다.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번 호출되었을 때 검정 사례가 녹색입니다.
언급URL : https://stackoverflow.com/questions/27787487/java-verify-void-method-calls-n-times-with-mockito
'programing' 카테고리의 다른 글
소품을 통한 상태 속성 전달(Vuex) (0) | 2022.08.28 |
---|---|
Java에서 String에서 char로 변환/파스하는 방법 (0) | 2022.08.28 |
여기서 JAVA_는MacOS Mojave(10.14)에서 Lion(10.7)으로 홈. (0) | 2022.08.28 |
출력 스트림에 문자열 쓰기 (0) | 2022.08.28 |
Vuex에서 상태를 정규화하는 방법 (0) | 2022.08.28 |