web-dev-qa-db-ja.com

Mockitoマッチャーとプリミティブの配列

Mockitoでは、引数リストにbyte[]を含むメソッド呼び出しをverify()したいのですが、これを書く方法が見つかりませんでした。

 myMethod( byte[] )

anyByteArray()のようなものが欲しいのですが、Mockitoでそれを行う方法は?

204
tbruyelle

私はany(byte[].class)を試します

382
gpeche

これを試して:

AdditionalMatchers.aryEq(array);
26

むしろMatchers.<byte[]>any()を使用します。これは私のために働いた。

12

私はムタノスとアレシオに同意します。さらに、可能な限り多くの同一のメソッド呼び出しを確認できます(実動コード内の後続の呼び出しを検証する場合、検証の順序は重要ではありません)。コードは次のとおりです。

import static org.mockito.AdditionalMatchers.*;

    verify(mockObject).myMethod(aryEq(new byte[] { 0 }));
    verify(mockObject).myMethod(aryEq(new byte[] { 1, 2 }));
8
Rene Ummels

引数が配列でもある場合、Mockito.any()を使用できます。私はこれを次のように使用しました:

verify(myMock, times(0)).setContents(any(), any());
0
Crenguta S

または..

byte[] sampleTextFileAsBytes = new byte[]{anyByte()};
0
kunalk83

これにはMatchers.refEqを使用しました。

0
Bowofola