Разработка через тестирование с помощью FastAPI и Docker

15 участников

О чём курс

Разработка масштабируемого асинхронного RESTful API с нуля требует не только написания кода, но и настройки надёжной инфраструктуры для его тестирования и деплоя. Здесь вы освоите методологию TDD (Test-Driven Development) применительно к стеку FastAPI и Docker, превращая процесс создания бэкенда в контролируемую систему.

В процессе обучения вы:

  • Научитесь проектировать асинхронное взаимодействие с базой данных Postgres через Tortoise ORM.
  • Настроите полноценный CI/CD пайплайн с использованием GitHub Actions и GitHub Packages для автоматизации сборки и доставки Docker-контейнеров.
  • Разберётесь в оптимизации тестирования: от параллельного запуска тестов через pytest-xdist до создания имитаций (mock) и оценки покрытия кода тестами.
  • Освоите деплой связки FastAPI, Uvicorn, Gunicorn и Postgres на Heroku в контейнеризированном виде.

Курс предназначен для Python-разработчиков, желающих перейти от написания разрозненных скриптов к созданию профессиональных, тестируемых веб-приложений. На выходе вы получите работающий бэкенд-сервис, покрытый unit и integration тестами, готовый к эксплуатации в продакшене.

Программа обучения

  • Часть 1: Основы FastAPI, TDD и Docker
    • Разработка асинхронного RESTful API (Python, FastAPI)
    • Практика Test-Driven Development
    • Тестирование FastAPI-приложения с помощью pytest
    • Асинхронное взаимодействие с базой данных Postgres
    • Контейнеризация FastAPI и Postgres в Docker
    • Запуск unit и integration тестов с анализом покрытия кода (coverage)
    • Проверка качества кода с помощью линтеров
  • Часть 2: CI/CD, деплой и продвинутое тестирование
    • Конфигурация GitHub Actions для непрерывной интеграции и доставки
    • Использование GitHub Packages для хранения Docker-образов
    • Ускорение CI-сборок на базе Docker с помощью кэширования
    • Деплой FastAPI, Uvicorn и Postgres на Heroku через Docker
    • Параметризация функций тестирования и мокирование в pytest
    • Параллельный запуск тестов с pytest-xdist
    • Документирование RESTful API через Swagger/OpenAPI
    • Запуск фоновых процессов вне основного потока request/response
Складчина создана 13 декабря 2021 г. · описание обновлено 23 марта 2026 г.

Другие материалы автора 2

MH Michael Herman Все материалы
346 ₽ 1 900 ₽