Я пытаюсь настроить макет для метода, который принимает массив объектов Request:
client.batchCall(Request[])
Я пробовал эти два варианта:
when(clientMock.batchCall(any(Request[].class))).thenReturn(result);
...
verify(clientMock).batchCall(any(Request[].class));
и
when(clientMock.batchCall((Request[])anyObject())).thenReturn(result);
...
verify(clientMock).batchCall((Request[])anyObject());
Но я могу сказать, что mocks не вызывается.
Они оба приводят к следующей ошибке:
Argument(s) are different! Wanted:
clientMock.batchCall(
<any>
);
-> at com.my.pkg.MyUnitTest.call_test(MyUnitTest.java:95)
Actual invocation has different arguments:
clientMock.batchCall(
{Request id:123},
{Request id:456}
);
Почему совпадение не соответствует массиву? Есть ли специальный помощник, который мне нужно использовать для сопоставления массива объектов? Самое близкое, что я могу найти, это AddMartches.aryEq(), но для этого требуется указать точное содержимое массива, чего я бы не хотел делать.