Mockito ArgumentCaptor: как захватить класс и объект - PullRequest
0 голосов
/ 06 марта 2019

Я пытался захватить некоторые типы, и я не могу найти чистое решение.Я получил это:

@Captor
private ArgumentCaptor<T extends DTO> targetMapperCaptor;

Я использую этот Captor против картографа, используя 2 типа параметров;экземпляр или клац.

Как он объявлен, он захватывает только те объекты, которые расширяют DTO, для захвата классов:

@Captor
private ArgumentCaptor<Class> targetMapperCaptor;

Даем пример, имея этот код в реализации:

mock.map(MyObject.class);
mock.map(new MyObject());

И имея это в тесте:

when(mock, times(2)).map(targetMapperCaptor.capture());

Всегда будет выдавать TooLittleActualInvocations (хотел 2, но получил 1).Если мы удалим times (2), внутри targetMapperCaptor.getAllValues ​​() будет только значение, соответствующее типу.

Есть ли способ объявить ArgumentCaptor для захвата любого параметра?

Я также безуспешно пытался:

private ArgumentCaptor<?> targetMapperCaptor;
private ArgumentCaptor targetMapperCaptor;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...