Встречается на собеседованиях • сегодня
Как протестировать взаимодействие с внешним сервисом
Для тестирования взаимодействия с внешним сервисом в Python можно использовать несколько подходов:
- Mock-объекты (unittest.mock) - заменяют реальные вызовы API:
python
from unittest.mock import patch
def test_external_api():
with patch('requests.get') as mock_get:
mock_get.return_value.json.return_value = {'key': 'value'}
response = call_external_service()
assert response == {'key': 'value'}- Тестовые серверы - можно поднять локальный сервер для тестов (например, с помощью
responsesилиhttpx):
python
import responses
@responses.activate
def test_api():
responses.add(
responses.GET, 'http://api.example.com',
json={'data': 'test'}, status=200
)
response = requests.get('http://api.example.com')
assert response.json() == {'data': 'test'}- VCR.py - записывает и воспроизводит реальные HTTP-запросы:
python
import vcr
@vcr.use_cassette('fixtures/vcr_cassettes/test_api.yaml')
def test_api():
response = requests.get('https://api.example.com')
assert response.status_code == 200Для интеграционных тестов можно использовать реальные вызовы, но с тестовыми данными и отдельным окружением. Важно изолировать тесты от реального сервиса в большинстве случаев.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы