Что такое Mock и Spy в тестировании?

Mock подменяет зависимость и позволяет задать поведение и проверить взаимодействия. Spy наблюдает вызовы реального объекта, обычно сохраняя выполнение его реализации.

Короткий ответ

Что ответить на собеседовании

Mock подменяет зависимость и позволяет задать поведение и проверить взаимодействия. Spy наблюдает вызовы реального объекта, обычно сохраняя выполнение его реализации.

Подробный разбор

Ответ с пояснениями

Mock подменяет зависимость и позволяет задать поведение и проверить взаимодействия. Spy наблюдает вызовы реального объекта, обычно сохраняя выполнение его реализации.

Например, mock внешнего клиента вернёт заданный ответ без сети, а spy покажет, был ли вызван реальный метод и с какими аргументами. Терминология библиотек различается: иногда один объект поддерживает оба режима. Не привязывайте тест к каждому внутреннему вызову без необходимости — так он ломается при безопасном рефакторинге. Проверяйте прежде всего значимый результат и контракт взаимодействия.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее