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.