Skip to main content
Back to list
testingIntermediate2 часа 15 минут8 lessons

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

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

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

What you'll learn

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

8x speedup with pytest-xdist

Parallel test execution: from 10 minutes to 2 minutes. Setup, best practices, pitfalls.

Proper project structure

src layout: like in real projects. pip install -e ., proper imports, no sys.path.append.

Advanced fixtures

Scope (session/module/function), autouse, fixture factories, indirect parametrization. Maximum reuse.

Creating custom plugins

Write your own pytest plugin: custom markers, hooks, reports. Automation for team.

Testimonials

alumni

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)

What's inside

pytest-xdist: installation, pytest -n auto, scope strategies for parallel execution

src layout: project structure, pip install -e ., pyproject.toml, proper imports

Advanced fixtures: session/module/function scope, autouse, fixtures for fixtures

Fixture factories: dynamic fixture creation, indirect parametrization

Request object: accessing test context from fixture, parameters, markers

Custom markers: registration, usage, strict mode (strict markers)

Pytest plugins: creating your own plugin, hooks, conftest as plugin

Coverage thresholds: minimum coverage, enforcement in CI, fail-under

Practice: transforming educational project to production-ready with all tools

Prerequisites

Pytest for Juniors: Mocks and Integration

required

Level 2 course is mandatory. You must know: mocks, coverage, pytest.ini, conftest.py.

Go to course

FAQ

Is experience with basic and junior courses needed?

YES, mandatory. This course assumes you completed Level 1 (basic tests) and Level 2 (mocks, coverage). Without it will be difficult.

How is it different from previous courses?

Previous courses—basics and mocks. This course—production tools: parallel execution (xdist), proper project structure (src layout), advanced techniques. Team work readiness.

What's next after this course?

Two paths: 1) 'DB Testing with PostgreSQL' (Level 4)—for database work. 2) 'Async Race Conditions' (Level 5)—ONLY if working with asyncio. Then final TDD/CI/CD course.

Why is it free?

Levels 1-3 are free—foundation for everyone. Premium courses start from Level 4 (specialized topics: DB, async, TDD). Basic skills should be available to all.

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