Что такое мокирование
Python
Middle
Без компании
Что такое мокирование
Ответы
Мокирование (mock) — это создание объектов-заглушек, имитирующих поведение реальных зависимостей в тестах. Позволяет изолировать тестируемый код от внешних систем (БД, API и т.д.) и контролировать их поведение.
Основные варианты:
- **Mock** — полная заглушка с записью вызовов
- **MagicMock** — Mock с поддержкой магических методов
- **patch** — временная замена объекта на mock
Пример с unittest.mock:
```
from unittest.mock import Mock
# Создаем mock-объект
mock_db = Mock()
mock_db.get_data.return_value = [1, 2, 3] # Задаем возвращаемое значение
# Тестируемый код использует mock вместо реальной БД
result = process_data(mock_db)
assert result == 6 # Проверяем логику обработки
```
Ключевые преимущества:
- Ускорение тестов (нет реальных запросов)
- Предсказуемость (контроль возвращаемых значений)
- Тестирование исключительных сценариев