TG Telegram Group & Channel
Proglib.academy | IT-курсы | United States America (US)
Create: Update:

⚡️How to: тестировать с фейковым сервером в Python

Подключили внешний API, всё работает — но тесты ведут себя как капризный кот: то проходят, то «Connection error». Если это про тебя, пора узнать, как создать фейковый сервер и навести порядок.

Используем библиотеку responses — она перехватывает запросы requests и возвращает фейковые ответы.

1️⃣ Установим библиотеку

pip install responses


2️⃣ Подключаем в тестах

import requests
import responses
import unittest


3️⃣ Пишем тест с фейковым сервером

@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 #буст

⚡️How to: тестировать с фейковым сервером в Python

Подключили внешний API, всё работает — но тесты ведут себя как капризный кот: то проходят, то «Connection error». Если это про тебя, пора узнать, как создать фейковый сервер и навести порядок.

Используем библиотеку responses — она перехватывает запросы requests и возвращает фейковые ответы.

1️⃣ Установим библиотеку
pip install responses


2️⃣ Подключаем в тестах

import requests
import responses
import unittest


3️⃣ Пишем тест с фейковым сервером

@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 #буст
Please open Telegram to view this post
VIEW IN TELEGRAM


>>Click here to continue<<

Proglib.academy | IT-курсы






Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)