← До фільтрів та технологій

← До списку лабораторних по Python

Python Лабораторна 63: Тестування FastAPI через httpx

Технологія: Python

Номер лабораторної: 63 · Рівень: middle

Тема: Інтеграційні тести для веб API

Повний опис / сценарій лабораторної:

Meta: навчитися тестувати API не торкаючись справжньої мережі і бази даних.



Krok 1. Взяти сервіс FastAPI з однієї з попередніх лабораторних.



Krok 2. Встановити пакети httpx і pytest async для тестування.

Komandi: cd ~/python_lab1; source .venv/bin/activate; pip install httpx pytest-asyncio



Krok 3. Створити файл tests/test_api63.py.



Krok 4. Додати фікстуру яка створює тестовий клієнт для FastAPI застосунку.

Poyasnennya: використай TestClient або httpx AsyncClient з asgi застосунком.



Krok 5. Написати тест для ендпоінта health який перевіряє код 200 і тіло відповіді.



Krok 6. Додати тест для ендпоінта що використовує базу даних, замокавши репозиторій або шар доступу до даних.



Krok 7. Виконати тести і переконатися що вони не вимагають реального сервера або мережі.



Krok 8. Занотувати відмінності між юніт тестом логіки і інтеграційним тестом API.



Krok 9. Продумати стратегію покриття критичних ендпоінтів інтеграційними тестами.



Krok 10. Mini zvit.

Zavdannya: опиши які перевірки обовязково мають бути у інтеграційних тестах до API.