Mockito를 사용하면 인수 목록에 verify()
메소드 호출을 byte[]
하고 싶지만 이것을 작성하는 방법을 찾지 못했습니다.
myMethod( byte[] )
나는 단지 anyByteArray()
Mockito로 어떻게 할 것인가?
답변
나는 시도 할 것이다 any(byte[].class)
답변
이 시도:
AdditionalMatchers.aryEq(array);
답변
오히려 사용하고 싶습니다 Matchers.<byte[]>any()
. 이것은 나를 위해 일했습니다.
답변
Mutanos와 Alecio에 동의합니다. 또한 가능한 한 많은 동일한 메소드 호출을 확인할 수 있습니다 (프로덕션 코드에서 후속 호출을 확인하면 확인 순서는 중요하지 않습니다). 코드는 다음과 같습니다.
import static org.mockito.AdditionalMatchers.*;
verify(mockObject).myMethod(aryEq(new byte[] { 0 }));
verify(mockObject).myMethod(aryEq(new byte[] { 1, 2 }));
답변
나는 Matchers.refEq
이것을 위해 사용 했다.
답변
인수가 배열 인 경우 Mockito.any ()를 사용할 수 있습니다. 나는 이것을 다음과 같이 사용했다 :
verify(myMock, times(0)).setContents(any(), any());
답변
나를 위해 일한 것은 org.mockito.ArgumentMatchers.isA
예를 들면 다음과 같습니다.
isA(long[].class)
잘 작동합니다.
서로의 구현 차이는 다음과 같습니다.
public static <T> T any(Class<T> type) {
reportMatcher(new VarArgAware(type, "<any " + type.getCanonicalName() + ">"));
return Primitives.defaultValue(type);
}
public static <T> T isA(Class<T> type) {
reportMatcher(new InstanceOf(type));
return Primitives.defaultValue(type);
}