Перейти к содержимому
К списку
testingСредний2 часа 15 минут8 уроков

Pytest: Профессиональные инструменты

pytest-xdist (8x ускорение), src layout, продвинутые фикстуры, плагины — production-ready инструменты.

8 уроков 2 часа 15 минут
Pytest: Профессиональные инструменты

Что вы изучите

Production-ready навыки для middle-разработчиков: pytest-xdist для 8x ускорения, src layout для правильной структуры проектов, продвинутые фикстуры (scope, autouse, factories), создание собственных плагинов. Превращаем учебный проект в production-ready.

8x ускорение с pytest-xdist

Параллельный запуск тестов: из 10 минут в 2 минуты. Настройка, best practices, подводные камни.

Правильная структура проектов

src layout: как в настоящих проектах. pip install -e ., правильные импорты, никаких sys.path.append.

Продвинутые фикстуры

Scope (session/module/function), autouse, fixture factories, indirect parametrization. Максимум переиспользования.

Создание собственных плагинов

Пишем свой pytest-плагин: кастомные маркеры, hooks, отчёты. Автоматизация для команды.

Отзывы

выпускники

Optimism is an occupational hazard of programming: feedback is the treatment.

Kent Beck

The ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code.

Robert C. Martin (Uncle Bob)

Что внутри курса

pytest-xdist: установка, pytest -n auto, scope стратегии для параллельного запуска

src layout: структура проекта, pip install -e ., pyproject.toml, правильные импорты

Advanced fixtures: session/module/function scope, autouse, фикстуры для фикстур

Fixture factories: динамическое создание фикстур, indirect parametrization

Request object: доступ к контексту теста из фикстуры, параметры, маркеры

Custom markers: регистрация, использование, строгий режим (strict markers)

Pytest plugins: создание своего плагина, hooks, conftest как плагин

Coverage thresholds: минимальное покрытие, enforcement в CI, fail-under

Практика: превращаем учебный проект в production-ready со всеми инструментами

Требования

Pytest для джунов: Моки и интеграция

обязательно

Обязателен курс уровня 2. Вы должны знать: моки, coverage, pytest.ini, conftest.py.

Перейти к курсу

FAQ

Нужен ли опыт с базовым и junior курсами?

ДА, обязательно. Этот курс предполагает, что вы прошли Уровень 1 (базовые тесты) и Уровень 2 (моки, coverage). Без этого будет сложно.

Чем отличается от предыдущих курсов?

Предыдущие курсы — основы и моки. Этот курс — production-инструменты: параллельный запуск (xdist), правильная структура проектов (src layout), продвинутые техники. Готовность к работе в команде.

Что дальше после этого курса?

Два пути: 1) 'Тестирование БД с PostgreSQL' (Уровень 4) — для работы с базами данных. 2) 'Async Race Conditions' (Уровень 5) — ТОЛЬКО если работаете с asyncio. Затем финальный курс по TDD/CI/CD.

Почему бесплатно?

Уровни 1-3 бесплатны — фундамент для всех. Премиум-курсы начинаются с Уровня 4 (специализированные темы: БД, async, TDD). Базовые навыки должны быть доступны всем.

#pytest#intermediate#xdist#src-layout#fixtures#plugins#production
Pytest: Профессиональные инструменты — Учебный центр — Potapov.me