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

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы