Данный проект содержит веб-сервис на Python (FastAPI), покрытый тестами (unit, integration, e2e). Сервис представляет собой простой калькулятор с функцией кэширования результатов в БД.
Проект служит примером для статьи про тестирование веб-сервисов на Python.
Поддерживаемая версия Python – 3.11.
poetry env use 3.11
poetry install
# src/.env
DB_URL=sqlite:////absolute/path/to/db.sqlite3
Примечание: для тестов рекомендуется использовать отдельную пустую базу данных с примененными миграциями.
poetry shell
Из директории src
alembic upgrade head
Из директории src
Для разработки:
fastapi dev
или в production-режиме:
fastapi run
Из корневой директории проекта
pytest
Отчет о покрытии тестами появится в директории htmlcov