Встречается на собеседованиях • сегодня

Как проверить, что код правильно взаимодействует с внешним сервисом

Для проверки взаимодействия с внешним сервисом используйте моки (mock-объекты) и стабы в тестах. Библиотека unittest.mock позволяет подменять реальные вызовы на тестовые заглушки.

Пример:

python
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')

text

**Ключевые моменты:**  
1. Используйте `patch` для подмены HTTP-запросов.  
2. Проверяйте, что мок вызывается с правильными аргументами (`assert_called_with`).  
3. Тестируйте обработку ошибок (например, `requests.Timeout`).  
4. Для интеграционных тестов можно поднимать тестовый сервер (например, `pytest-httpserver`).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы