Какими пользуешься инструментами для тестирования API

Python Middle СБЕР Центр ИИ
Какими пользуешься инструментами для тестирования API
Ответы
Для тестирования API в Python популярны следующие инструменты: - **Requests + Pytest** – базовый вариант для ручного тестирования: ``` import requests import pytest def test_get_user(): response = requests.get("https://api.example.com/users/1") assert response.status_code == 200 assert response.json()["id"] == 1 ``` - **Pytest + Plugins** (например, `pytest-httpx` для мокирования): ``` import pytest import httpx @pytest.mark.asyncio async def test_mock_api(httpx_mock): httpx_mock.add_response(json={"data": "test"}) async with httpx.AsyncClient() as client: response = await client.get("https://fake-api.com") assert response.json()["data"] == "test" ``` - **FastAPI TestClient** – для тестирования FastAPI-приложений: ``` from fastapi.testclient import TestClient from main import app client = TestClient(app) def test_read_root(): response = client.get("/") assert response.status_code == 200 ``` - **Locust** – нагрузочное тестирование: ``` from locust import HttpUser, task class ApiUser(HttpUser): @task def get_users(self): self.client.get("/users") ``` - **Schemathesis** – тестирование на соответствие OpenAPI/Swagger: ``` schemathesis run --checks all http://example.com/swagger.json ``` Также используют **Postman** (GUI), **RestAssured** (Java), **Karate** (BDD-стиль). Выбор зависит от задач: юнит-тесты, интеграция, нагрузка или валидация спецификации.