使用Mockito,我想验证()在其参数列表中使用byte[]的方法调用,但我不知道如何编写这个。
myMethod( byte[] )
我只是想要一些像anyByteArray(),如何做到与Mockito ?
使用Mockito,我想验证()在其参数列表中使用byte[]的方法调用,但我不知道如何编写这个。
myMethod( byte[] )
我只是想要一些像anyByteArray(),如何做到与Mockito ?
当前回答
对我有用的是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);
}
其他回答
当参数也是数组时,也可以使用Mockito.any()。 我是这样用的:
verify(myMock, times(0)).setContents(any(), any());
我同意穆塔诺斯和阿莱西奥。 此外,可以检查尽可能多的相同方法调用(验证生产代码中的后续调用,验证的顺序无关紧要)。 代码如下:
import static org.mockito.AdditionalMatchers.*;
verify(mockObject).myMethod(aryEq(new byte[] { 0 }));
verify(mockObject).myMethod(aryEq(new byte[] { 1, 2 }));
我使用了Matchers。refEq。
我宁愿使用匹配器。<byte[]>any()。这对我很管用。
试试这个:
AdditionalMatchers.aryEq(array);