Использовать ArgumentCaptor вне .verify()?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Использовать ArgumentCaptor вне .verify()?

Сообщение Anonymous »

У меня есть объект, который не используется в качестве аргумента в .verify(), а только как атрибут этого объекта. Однако я хотел бы захватить объект, чтобы позже использовать AssertEquals для проверки другого атрибута этого объекта. Возможно ли это, если объект вообще не используется в .verify()?
Я обнаружил, что могу захватить аргумент только в том случае, если использую его с .when( ) или .verify(). Однако ни то, ни другое не имеет смысла само по себе, поскольку единственный класс, в котором я использую или возвращаю сущность непосредственно в качестве параметра, — это класс, который я также хочу протестировать. Поэтому я использую для них @Autowired, а не, например, @MockBean. Если я попытаюсь каким-то образом включить объект в .verify(), он выдаст исключение NullPointerException
ArgumentCaptor entityArgumentCaptor = ArgumentCaptor.forClass(Entity.class);

Mockito.verify(reportMock, Mockito.times(1)).doIt(Mockito.eq(entityArgumentCaptor.capture().getIdentifier()), Mockito.eq(null)); //not working
Entity entityArguments = entityArgumentCaptor.getValue();
assertEquals(entityState.completed, entityArguments.getState());


Подробнее здесь: https://stackoverflow.com/questions/754 ... -of-verify
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»