Встречается на собеседованиях • сегодня

В чем разница между Mock и Spy аннотацией

Mock создает полностью заглушенный объект, где все методы по умолчанию возвращают "пустые" значения (null, 0, false и т.д.), если поведение не переопределено. Spy же оборачивает реальный объект, вызывая его настоящие методы, если они не заглушены. Пример с Mockito: ```java // Mock - все методы заглушены List mockList = Mockito.mock(List.class); mockList.size(); // вернет 0 // Spy - вызывает реальные методы List realList = new ArrayList<>(); List spyList = Mockito.spy(realList); spyList.add("test"); spyList.size(); // вернет 1 (реальный вызов) ``` Основные различия: - Mock легковеснее, но требует явного определения поведения - Spy полезен, когда нужно частичное тестирование реального объекта - Mock полностью изолирует тестируемый код, Spy сохраняет часть реальной логики
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы