Зачем нужны mock объекты в тестировании
Python
Middle
Рунити
Зачем нужны mock объекты в тестировании
Ответы
Mock объекты используются для изоляции тестируемого кода от внешних зависимостей (API, БД, сервисов). Они позволяют:
- **Эмулировать поведение** реальных объектов без их фактического вызова
- **Контролировать возвращаемые значения** и проверять передаваемые аргументы
- **Ускорять тесты**, исключая медленные операции (сеть, диски)
- **Тестировать исключительные сценарии** (ошибки, таймауты)
Пример с `unittest.mock`:
```
from unittest.mock import Mock
# Создаем mock для API клиента
api_mock = Mock()
api_mock.get_data.return_value = {"status": "success"}
# Тестируем функцию, использующую API
def process_data():
data = api_mock.get_data()
return data["status"]
assert process_data() == "success"
api_mock.get_data.assert_called_once() # Проверяем вызов
```
Используются в юнит-тестах для проверки логики в изоляции.