Научитесь писать тесты, которые действительно ловят ошибки, — и проверите это на практике: чекер запускает ваши тесты на исправном коде и на коде со специально внесённой ошибкой. Разберёте unittest, ассерты под каждый случай, краевые данные, подмену зависимостей моками, тесты для файлов и базы, покрытие и TDD. unittest и запуск тестов assertEqual, assertRaises, subTest краевые случаи тест, который ничего не проверяет setUp и изоляция тестов unittest.mock: Mock и patch side_effect и сбои зависимостей пирамида тестов тесты для файлов и sqlite покрытие кода и его пределы TDD: красный-зелёный-рефакторинг doctest чем отличается pytest
Курс отвечает на вопрос, который возникает у всех после первого написанного теста: как понять, что тест не бесполезен. Ответ здесь встроен в проверку — почти каждая лабораторная прогоняет ваши тесты дважды: на корректной реализации они обязаны пройти, а на версии со специально сломанной логикой обязаны упасть. Тест, который «просто зелёный», задание не засчитает.
Внутри: unittest и структура теста, точные ассерты вместо assertTrue на всё подряд, поиск краевых случаев, изоляция через setUp, подмена медленных и нестабильных зависимостей через unittest.mock и patch (включая главную ловушку — где именно патчить), моделирование сбоев через side_effect, тесты для кода, который пишет файлы и работает с sqlite, честный разговор о покрытии, цикл TDD и doctest. Финальный урок объясняет, что изменится в реальном проекте с pytest: фикстуры, parametrize, голый assert.
Формат: короткая теория в документационном стиле, квиз на понимание и лабораторная, которая по-настоящему запускает Python в браузерной песочнице. Нужен только базовый Python — функции, списки, словари. Опыт тестирования не требуется.
Главная механика курса: **лабораторная прогоняет ваш тест дважды** — на корректной реализации функции и на версии с намеренно внесённой ошибкой. Тест обязан пройти на первой и упасть на второй; «просто зелёный» тест система не засчитает.
Практика идёт в **живой Python-песочнице**: лабораторные реально запускают интерпретатор (python:3.12), а не имитируют вывод — вы отлаживаете настоящий unittest-прогон, а не текстовое описание того, как он должен выглядеть.
Формат: короткая теория в документационном стиле, квиз на понимание сразу после неё и лабораторная с автопроверкой на каждый урок — без абстрактных заданий, оторванных от кода.
Курс целиком про **тестирование, а не про Python вообще**: путь идёт от первого unittest-теста через моки и подмену зависимостей до TDD, doctest и того, что меняется при переходе на pytest в реальном проекте.
Вы также можете задать любой вопрос по курсу у поддержки t.me/mentorix_support
Для тех, кто уже пишет Python-код, но тесты пишет «для галочки» — через assertTrue(True) или вовсе без ассертов — и хочет научиться писать тесты, которые действительно ловят баги.
Для разработчиков, которые пробовали mock и patch, но путаются, что именно патчить, и почему тест иногда всё равно ходит в реальную сеть или файл.
Для тех, кто слышал про TDD и хочет один раз пройти цикл красный-зелёный-рефакторинг руками, а не прочитать про него в статье.
Пригодится и тем, кто пишет тесты уже на pytest и хочет понять, что происходит под капотом на уровне unittest, прежде чем разбираться с фикстурами и parametrize.
Базовый Python: функции, списки и словари, работа с исключениями через try/except.
Опыт тестирования не требуется — курс начинается с вопроса «зачем вообще писать тесты» и объяснения, чем плох тест без ассертов.
Ничего не нужно устанавливать: все лабораторные выполняются в браузерной песочнице.
Модулей: 5, уроков: 19. Задачи с кодом проверяются автоматически.
Бесплатный курс