Средний
В чем разница между Mock (Мок) и Stub (Заглушка) в тестировании?
Оба инструмента заменяют реальные внешние системы (БД, API) при написании Unit-тестов, но делают это по-разному:
Stub (Заглушка):
Просто возвращает заранее захардкоженный ответ.
Пример: На любой вызов getUser() стаб всегда возвращает {"name": "Ivan"}. Тест проверяет, как наш код обработал Ивана.
Mock (Мок):
Умная заглушка, которая проверяет поведение.
Пример: Мок проверяет, что наш код вызвал метод saveUser() ровно один раз и передал туда правильный email. Если метод не вызвался — тест падает.