Mockito matcher и массив примитивов

С Mockito я хочу verify() вызвать метод с byte[] в его списке аргументов, но я не нашел, как это записать.

 myMethod( byte[] )

Мне просто нужно что-то вроде anyByteArray(), как это сделать с Mockito?

Ответ 1

Я бы попробовал any(byte[].class)

Ответ 2

Попробуйте следующее:

AdditionalMatchers.aryEq(array);

Ответ 3

Я предпочел бы использовать Matchers.<byte[]>any(). Это сработало для меня.

Ответ 4

Я согласен с Мутаносом и Алесио. Кроме того, можно проверить как можно больше одинаковых вызовов методов (проверка последующих вызовов в производственном коде, порядок проверки не имеет значения). Вот код:

import static org.mockito.AdditionalMatchers.*;

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

Ответ 5

или..

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

Ответ 6

Вы можете использовать Mockito.any(), когда аргументы также являются массивами. Я использовал его так:

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