Junior — Middle
64
Можете объяснить концепцию мокирования в тестировании программного обеспечения?
Ответ от нейросети
sobes.tech AI
Мокирование — это техника в тестировании, когда вместо реальных зависимостей (например, классов, сервисов, баз данных) используются специальные объекты — моки. Они имитируют поведение реальных компонентов, позволяя изолировать тестируемый код и контролировать его окружение.
Основные цели мокирования:
- Изолировать тестируемый модуль от внешних зависимостей.
- Управлять поведением зависимостей (например, заставить метод возвращать нужное значение).
- Проверять, как тестируемый код взаимодействует с зависимостями (вызывал ли нужные методы, с какими параметрами).
В Python для мокирования часто используют библиотеку unittest.mock:
from unittest.mock import Mock
def fetch_data(api_client):
response = api_client.get('/data')
return response.json()
# В тесте
mock_api = Mock()
mock_api.get.return_value.json.return_value = {'key': 'value'}
result = fetch_data(mock_api)
assert result == {'key': 'value'}