Перейти к основному контенту
Tech Path Finder
КурсыИнтервьюКод-ревьюБлог
Tech Path Finder

Персонализированный путеводитель в IT. Квизы, мок-интервью, код ревью и аналитика прогресса.

@potapov_me

Платформа

  • Курсы
  • Прогресс
  • Мок-интервью
  • Код ревью
  • Живое ревью с ИИ
  • Тренажёр переговоров
  • Закладки

Контент

  • Блог
  • Главная
  • Обратная связь

Компания

  • О проекте
  • Тарифы
  • Условия использования
  • Конфиденциальность
  • Согласие на обработку данных
  • Cookie
  • Реквизиты

Аккаунт

  • Войти
  • Зарегистрироваться
  • Профиль

© 2026 Tech Path Finder. Все права защищены.

·ИП Потапов К.С.·Политика конфиденциальности·
Сделано с ❤️ в России
  1. Pytest: Production-grade интеграционные тесты
Python экосистема·9 тем·36 вопросов·уровень Middle

Pytest: Production-grade интеграционные тесты

Выводите интеграционные тесты на production-уровень: Alembic миграции, factory_boy, Testcontainers, настоящие REST API тесты, глубокий CI/CD. 6+ часов практики с production-паттернами.

Начать курс

Pytest: интеграционные тесты production-уровня

Мок базы данных проверяет, что вы правильно вызвали мок базы данных. Схему, миграции, внешние ключи и уникальные индексы он не проверяет — а ломаются в продакшене именно они. Этот курс про тесты, которые поднимают настоящий PostgreSQL в контейнере и работают с ним.

Девять тем. Нулевой модуль — Docker и PostgreSQL для тех, кто раньше их не запускал: compose-файл, подключение через psql, первые запросы. Затем граница между unit и интеграцией: пирамида тестирования, социальные и одиночные тесты, случаи, где мок приносит вред.

Дальше основная механика: Alembic внутри тестов — фикстура, которая применяет миграции, и стратегии скоупа, чтобы не гонять их перед каждым тестом; фабрики данных на factory_boy и faker, включая зависимые фабрики для внешних ключей; изоляция тестов через транзакции и TRUNCATE и выбор между ними; пул соединений в тестовом окружении.

Затем API целиком: сервис на FastAPI поднимается через Testcontainers, рядом контейнер с базой, и пишутся сквозные сценарии — POST, потом GET, потом проверка, что данные согласованы. Отдельная тема про продвинутые фикстуры: фабрики фикстур, indirect-параметризация, выбор scope. Завершает курс CI: маркеры slow и integration, GitHub Actions с Docker Compose и кэшированием образов, quality gates.

Третий курс серии, после «Pytest с нуля» и «Моки и интеграция». Нужен Python и готовность работать с Docker.

  1. 1

    МОДУЛЬ 0: Docker и PostgreSQL — Quick Start

    Устанавливаете Docker Desktop, запускаете PostgreSQL через docker-compose.yml, подключаетесь через psql, первый SELECT и INSERT, понимаете транзакции. Всё необходимое для курса за 40 минут. ОБЯЗАТЕЛЬНЫЙ БЕСПЛАТНЫЙ МОДУЛЬ

    4 вопроса
  2. 2

    Integration vs Unit: границы тестирования

    Что такое integration test? Когда моки вредят? Пирамида тестирования, test doubles, социальные vs одиночные тесты. Фундамент для понимания курса

    4 вопроса
  3. 3

    PostgreSQL + Alembic: миграции в тестах

    Интегрируем Alembic в pytest. Фикстура db_connection с автоматическим применением миграций. Session scope для миграций, function scope для rollback. Тестируем на актуальной схеме БД

    4 вопроса
  4. 4

    Фабрики данных: factory_boy + faker

    Создаём фабрики с factory_boy для моделей БД. Генерируем реалистичные данные с faker. Зависимые фабрики для FK relationships. Переиспользование в тестах. Избавляемся от ручного создания данных

    4 вопроса
  5. 5

    PostgreSQL advanced: сложные сценарии

    Connection pooling в тестах: когда нужен, как настроить. Тестирование constraints и FK. Изоляция тестов: TRUNCATE vs DELETE. Проблемы sequence и их решение

    4 вопроса
  6. 6

    REST API: тестирование с Testcontainers

    Запускаем FastAPI сервис в Docker через Testcontainers. Фикстура для управления жизненным циклом контейнера. Тестируем по реальной HTTP-сети. Таймауты, connection errors, retry-логика

    4 вопроса
  7. 7

    API + БД: сквозные production-сценарии

    Архитектура: API контейнер + PostgreSQL контейнер. Сквозные тесты: POST → GET → проверка консистентности. Изоляция: сброс состояния БД между API-тестами. Негативные сценарии: недоступная БД

    4 вопроса
  8. 8

    Advanced fixtures: patterns и best practices

    Fixture factories для переиспользования. Indirect parametrization. Scope strategies: session/module/function для разных ресурсов. Request object паттерны. pytest.ini: кастомные маркеры и coverage

    4 вопроса
  9. 9

    Production CI/CD и quality gates

    Стратегия маркеров: @pytest.mark.slow, @pytest.mark.integration. GitHub Actions: Docker Compose, кеширование образов. pytest-xdist параллельный запуск. Matrix-стратегия: разные версии PostgreSQL. Coverage thresholds и quality gates

    4 вопроса
  10. Зачёт

    Доступен после всех тем (0 из 9)

  11. Экзамен

    Доступен после зачёта

9 / 9

МОДУЛЬ 0: Docker и PostgreSQL — Quick Start

Темы курса

Устанавливаете Docker Desktop, запускаете PostgreSQL через docker-compose.yml, подключаетесь через psql, первый SELECT и INSERT, понимаете транзакции. Всё необходимое для курса за 40 минут. ОБЯЗАТЕЛЬНЫЙ БЕСПЛАТНЫЙ МОДУЛЬ

Пример

Практические примеры темы «МОДУЛЬ 0: Docker и PostgreSQL — Quick Start» показывают, как применять этот подход в тестовом проекте.

Связанные термины

Integration vs Unit: границы тестирования

Темы курса

Что такое integration test? Когда моки вредят? Пирамида тестирования, test doubles, социальные vs одиночные тесты. Фундамент для понимания курса

Пример

Практические примеры темы «Integration vs Unit: границы тестирования» показывают, как применять этот подход в тестовом проекте.

Связанные термины

PostgreSQL + Alembic: миграции в тестах

Темы курса

Интегрируем Alembic в pytest. Фикстура db_connection с автоматическим применением миграций. Session scope для миграций, function scope для rollback. Тестируем на актуальной схеме БД

Пример

Практические примеры темы «PostgreSQL + Alembic: миграции в тестах» показывают, как применять этот подход в тестовом проекте.

Связанные термины

Фабрики данных: factory_boy + faker

Темы курса

Создаём фабрики с factory_boy для моделей БД. Генерируем реалистичные данные с faker. Зависимые фабрики для FK relationships. Переиспользование в тестах. Избавляемся от ручного создания данных

Пример

Практические примеры темы «Фабрики данных: factory_boy + faker» показывают, как применять этот подход в тестовом проекте.

Связанные термины

PostgreSQL advanced: сложные сценарии

Темы курса

Connection pooling в тестах: когда нужен, как настроить. Тестирование constraints и FK. Изоляция тестов: TRUNCATE vs DELETE. Проблемы sequence и их решение

Пример

Практические примеры темы «PostgreSQL advanced: сложные сценарии» показывают, как применять этот подход в тестовом проекте.

Связанные термины

REST API: тестирование с Testcontainers

Темы курса

Запускаем FastAPI сервис в Docker через Testcontainers. Фикстура для управления жизненным циклом контейнера. Тестируем по реальной HTTP-сети. Таймауты, connection errors, retry-логика

Пример

Практические примеры темы «REST API: тестирование с Testcontainers» показывают, как применять этот подход в тестовом проекте.

Связанные термины

API + БД: сквозные production-сценарии

Темы курса

Архитектура: API контейнер + PostgreSQL контейнер. Сквозные тесты: POST → GET → проверка консистентности. Изоляция: сброс состояния БД между API-тестами. Негативные сценарии: недоступная БД

Пример

Практические примеры темы «API + БД: сквозные production-сценарии» показывают, как применять этот подход в тестовом проекте.

Связанные термины

Advanced fixtures: patterns и best practices

Темы курса

Fixture factories для переиспользования. Indirect parametrization. Scope strategies: session/module/function для разных ресурсов. Request object паттерны. pytest.ini: кастомные маркеры и coverage

Пример

Практические примеры темы «Advanced fixtures: patterns и best practices» показывают, как применять этот подход в тестовом проекте.

Связанные термины

Production CI/CD и quality gates

Темы курса

Стратегия маркеров: @pytest.mark.slow, @pytest.mark.integration. GitHub Actions: Docker Compose, кеширование образов. pytest-xdist параллельный запуск. Matrix-стратегия: разные версии PostgreSQL. Coverage thresholds и quality gates

Пример

Практические примеры темы «Production CI/CD и quality gates» показывают, как применять этот подход в тестовом проекте.

Связанные термины

Частые вопросы о курсе «Pytest: Production-grade интеграционные тесты»

Состав курса, уровни, практика и способы проверки знаний.

Что входит в курс «Pytest: Production-grade интеграционные тесты»?

Курс включает 9 тем и 36 вопросов с разбором ответа. Начать можно с первой темы курса.

Для какого уровня рассчитан курс «Pytest: Production-grade интеграционные тесты»?

Маршрут охватывает уровни Middle. Темы расположены от основы к более сложным инженерным задачам, поэтому можно начать с подходящего места и не пропускать важные зависимости.

Как проверить, что материал усвоен?

После прохождения тем доступен зачёт по курсу «Pytest: Production-grade интеграционные тесты» — 20 случайных вопросов с порогом 80%. После зачёта открывается экзамен с развёрнутыми ответами и автоматической оценкой, приближённый к техническому собеседованию.

Курс «Pytest: Production-grade интеграционные тесты» бесплатный?

Да, курс полностью бесплатный: все 9 тем доступны без оплаты.