Что такое mock в pytest
Python
Middle
Без компании
Что такое mock в pytest
Ответы
Mock в pytest — это объект-заглушка, который подменяет реальные зависимости во время тестирования. Он позволяет изолировать тестируемый код от внешних систем (баз данных, API и т.д.) и контролировать их поведение.
Основные возможности:
- Заменяет реальные объекты
- Записывает вызовы методов
- Позволяет задавать возвращаемые значения или исключения
Пример:
```
from unittest.mock import Mock
def test_mock_example():
mock_db = Mock()
mock_db.get_data.return_value = {"id": 1, "name": "Test"} # Задаем возвращаемое значение
result = mock_db.get_data()
assert result == {"id": 1, "name": "Test"}
mock_db.get_data.assert_called_once() # Проверяем, что метод вызван ровно 1 раз
```
Часто используется вместе с `patch` из `unittest.mock` для временной замены объектов в тестах.