Что такое Mock объект
Python
Middle
Без компании
Что такое Mock объект
Ответы
Mock объект — это специальный объект-заглушка, который имитирует поведение реального объекта в тестах. Он позволяет изолировать тестируемый код от зависимостей, контролировать их поведение и проверять взаимодействие с ними.
Основные возможности Mock:
- Замена реальных объектов
- Задание возвращаемых значений
- Проверка вызовов и аргументов
- Имитация исключений
Пример с unittest.mock:
```
from unittest.mock import Mock
# Создание mock-объекта
mock_db = Mock()
# Задание возвращаемого значения
mock_db.get_user.return_value = {'id': 1, 'name': 'Alice'}
# Использование в тесте
user = mock_db.get_user(1)
assert user['name'] == 'Alice'
# Проверка вызова
mock_db.get_user.assert_called_once_with(1)
```
Моки особенно полезны для тестирования:
- Внешних API
- Базы данных
- Сложных зависимостей
- Асинхронных операций