Если unit-тест вызывает сторонний ресурс, какие действия предпринять
Python
Senior
Без компании
Если unit-тест вызывает сторонний ресурс, какие действия предпринять
Ответы
Для изоляции тестов от сторонних ресурсов используйте моки (mock objects) или патчинг (patching). Это позволяет эмулировать поведение внешних зависимостей без реальных вызовов.
**Пример с `unittest.mock`:**
```
from unittest.mock import patch
import requests
def fetch_data():
response = requests.get('https://api.example.com/data')
return response.json()
# Тест с моком
@patch('requests.get')
def test_fetch_data(mock_get):
mock_get.return_value.json.return_value = {'key': 'value'}
result = fetch_data()
assert result == {'key': 'value'}
mock_get.assert_called_once_with('https://api.example.com/data')
```
**Альтернативы:**
- Используйте библиотеки типа `responses` для HTTP-запросов.
- Для сложных сценариев применяйте фикстуры (fixtures) или заглушки (stubs).
Это обеспечит скорость, надежность и независимость тестов.