testing-aqa trainee

В чём разница Mock и Spy?

Ответ

Mock — полная имитация, по умолчанию все методы возвращают null / 0 / false, поведение задаёшь через when().thenReturn(). Spy — обёртка над реальным объектом: методы, которые ты не подменил, выполняют настоящую логику. Полезно, когда нужно оставить реальное поведение объекта и заглушить лишь отдельные методы.

Разбор: Mock — полная имитация: неподменённые методы возвращают значения по умолчанию (null/0/false), поведение задаётся через when().thenReturn(). Spy — обёртка над реальным объектом: неподменённые методы выполняют настоящую логику. Ловушка — поменять Mock и Spy местами или считать, что у Spy по умолчанию тоже всё заглушено: именно вызов реальных методов и отличает Spy.

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

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