⚡️How to: тестировать с фейковым сервером в Python
Подключили внешний API, всё работает — но тесты ведут себя как капризный кот: то проходят, то «Connection error». Если это про тебя, пора узнать, как создать фейковый сервер и навести порядок.
Используем библиотеку responses — она перехватывает запросы requests и возвращает фейковые ответы.
pip install responses
import requests
import responses
import unittest
@responses.activate
def test_get_message():
responses.add(
responses.GET,
"https://api.example.com/message",
json={"message": "hello from test"},
status=200
)
resp = requests.get("https://api.example.com/message")
assert resp.status_code == 200
assert resp.json()["message"] == "hello from test"
responses.activate
— включает перехват запросовТеперь ваш HTTP-клиент можно тестировать локально, оффлайн. Забудьте про случайные флаки-тесты и неожиданные «502».
Proglib Academy #буст