Mockito匹配器和原始数组

tbr*_*lle 217 java mockito

使用Mockito,我想在其参数列表中verify()进行方法调用byte[],但我没有找到如何编写它.

 myMethod( byte[] )
Run Code Online (Sandbox Code Playgroud)

我只是想要一些类似的东西anyByteArray(),如何用Mockito做到这一点?

gpe*_*che 405

我会尝试 any(byte[].class)

  • 如果要验证特定字节[],可以使用`AdditionalMatchers.aryEq(expectedArray)` (33认同)
  • 或Matchers.<byte []> any(). (5认同)
  • 当我尝试使用它时,这产生了NPTE. (4认同)

Alé*_*lho 27

试试这个:

AdditionalMatchers.aryEq(array);
Run Code Online (Sandbox Code Playgroud)


Fab*_*oni 12

我宁愿用Matchers.<byte[]>any().这对我有用.

  • 警告大家:现在已被弃用,所以我会选择投票的答案 Mockito.any(byte[].class) (3认同)

小智 9

我同意Mutanos和Alecio.此外,可以检查尽可能多的相同方法调用(验证生产代码中的后续调用,验证的顺序无关紧要).这是代码:

import static org.mockito.AdditionalMatchers.*;

    verify(mockObject).myMethod(aryEq(new byte[] { 0 }));
    verify(mockObject).myMethod(aryEq(new byte[] { 1, 2 }));
Run Code Online (Sandbox Code Playgroud)