Доступ к параметрам с именами вместо их индекса в InvocationOnMock - PullRequest
0 голосов
/ 18 июня 2020

У меня есть тест Mockito с тестируемым компонентом cut, где я вызываю метод process для другого внедренного компонента (component). Теперь я хочу заполнить один из параметров значениями. Я могу получить доступ к параметру с помощью getArgumentAt Method (org.mockito.invocation.InvocationOnMock), который требует указания c index. При изменении сигнатуры тест не пройдёт из-за порядка параметров.

Возможно ли каким-то образом получить доступ к параметрам по их именам вместо использования индекса?

    @Mock
    private AnotherComponent component;
    @InjectMocks
    private Component cut;

    Mockito.doAnswer(invocation -> {
          Holder<RESPONSETT> responseParam = invocation.getArgumentAt(6, Holder.class);
          responseParam.value = new RESPONSETT();
          responseParam.value.getItem().addAll(responseItems);
          return null;}).
    when(component).process(Mockito.any(),
          Mockito.anyString(),
          Mockito.anyString(),
          Mockito.anyString(),
          Mockito.anyString(),
          Mockito.any(),
          Mockito.any());
...