Средний
В чем разница между Mock, Stub и Spy в тестировании?
Это виды тестовых дублеров (Test Doubles), заменяющих реальные зависимости (БД, API):
- Stub (Заглушка): Просто возвращает захардкоженный ответ. Пример: На вызов getUser() всегда возвращает Ивана.
- Mock (Мок): Проверяет поведение. Пример: Тест упадет, если метод saveUser() не был вызван ровно 1 раз с правильными аргументами.
- Spy (Шпион): Оборачивает реальный объект. Выполняет реальную логику, но "подглядывает" и записывает, сколько раз и с какими аргументами вызывались его методы.