Pytest для джунов: Моки и интеграция
Моки для HTTP/файлов, coverage, pytest.ini, conftest.py — от учебных тестов к реальным задачам.

Что вы изучите
Переход от базовых тестов к реальным задачам: мокирование HTTP/файлов/времени, coverage для контроля качества, pytest.ini конфигурация, conftest.py. Мини-проект с кешем и API — не игрушечные примеры.
Мокирование без боли
unittest.mock, patch, requests-mock — учимся тестировать код с HTTP, файлами, временем без реальных зависимостей.
Coverage для контроля качества
pytest-cov: установка, чтение метрик, интеграция с IDE. Находите непокрытый код и дыры в тестах.
Конфигурация для команды
pytest.ini и conftest.py: настройки для проекта, переиспользование фикстур, маркеры для всей команды.
Реальный мини-проект
Todo-приложение с кешем, HTTP API и обработкой сбоев. Собираем все навыки вместе.
Отзывы
выпускники“The only way to go fast is to go well. And the only way to go well is to have tests.”
Robert C. Martin (Uncle Bob)
“Mocks aren't stubs. Use mocks to verify interactions, stubs to provide canned answers.”
Martin Fowler
Что внутри курса
unittest.mock: Mock, patch, MagicMock для мокирования зависимостей
HTTP-моки: requests-mock или responses для тестирования API-клиентов
Мокирование времени: freezegun для тестов с датами и таймерами
Мокирование файлов: unittest.mock для file I/O без реальных файлов
Coverage: pytest-cov установка, pytest --cov, чтение метрик, HTML-отчёты
pytest.ini: конфигурация маркеров, testpaths, addopts для команды
conftest.py: переиспользование фикстур, plugins, hooks
Мини-проект: Todo с кешем и API от первого теста до интеграции
Требования
Pytest с нуля: Первые тесты
обязательноОбязателен базовый курс. Вы должны знать: assert, простые фикстуры, параметризация, маркеры.
Перейти к курсуПрограмма курса
🎭 Мокирование: Зачем и когда
15 минут
🔧 unittest.mock: Mock, patch, MagicMock
25 минут
🌐 Мокирование HTTP: requests-mock
25 минут
⏰ Мокирование времени и файлов
25 минут
📊 Coverage: Контроль качества тестов
25 минут
⚙️ pytest.ini: Конфигурация для команды
20 минут
📦 conftest.py: Переиспользование фикстур
20 минут
🏆 Мини-проект: Todo с кешем и API
30 минут
FAQ
Нужен ли базовый курс перед этим?
ДА, обязательно. Этот курс предполагает, что вы знаете assert, фикстуры, параметризацию из базового курса (Уровень 1). Без этого будет сложно.
Чем отличается от базового курса?
Базовый курс — простые тесты (assert, фикстуры). Этот курс — реальные задачи: мокирование HTTP, coverage, конфигурация для команды. Переход от учебных примеров к практике.
Что дальше после этого курса?
Следующий шаг — 'Pytest: Профессиональные инструменты' (Уровень 3): pytest-xdist для ускорения, src layout, продвинутые фикстуры, плагины. Production-ready навыки.
Почему бесплатно?
Уровни 1-2 бесплатны навсегда — мой способ помочь джунам. Премиум-курсы начинаются с Уровня 4 (БД тестирование). Чем раньше пройдёте, тем быстрее рост.
Дополнительные материалы
Эти материалы дополняют курс, но не являются его частью. Изучайте по желанию.