testing-aqa middle

Что такое ArgumentCaptor?

Ответ

Захват аргумента: verify(repo).save(captor.capture()); assertThat(captor.getValue().getName()).isEqualTo("Alice"). Когда нужно проверить не факт вызова, а конкретные значения.

Разбор: ArgumentCaptor захватывает фактический аргумент, переданный в замоканный метод, чтобы потом проверить его конкретные поля: captor.capture() в verify(...), затем captor.getValue(). Ловушки: это не матчер (any/eq) и не механизм задания ответа (thenReturn/Answer), а средство пост-фактум проверки; подсчёт вызовов делает verify(times(n)), а не captor.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться