testing-aqa trainee
В чём разница Mock и Spy?
Ответ
Mock — полная имитация, по умолчанию все методы возвращают null / 0 / false, поведение задаёшь через when().thenReturn(). Spy — обёртка над реальным объектом: методы, которые ты не подменил, выполняют настоящую логику. Полезно, когда нужно оставить реальное поведение объекта и заглушить лишь отдельные методы.
Разбор: Mock — полная имитация: неподменённые методы возвращают значения по умолчанию (null/0/false), поведение задаётся через when().thenReturn(). Spy — обёртка над реальным объектом: неподменённые методы выполняют настоящую логику. Ловушка — поменять Mock и Spy местами или считать, что у Spy по умолчанию тоже всё заглушено: именно вызов реальных методов и отличает Spy.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.