StepikТестирование JavaScript и React приложений
Указаны на площадке: Михаил Непомнящий
Вы боитесь трогать чужой код. Любой рефакторинг — это лотерея: проверить, что ничего не сломалось, можно только руками прокликав всё приложение. А на код-ревью прилетает «а где тесты?».
Тестирование — та компетенция, которая отделяет разработчика, которому доверяют задачи в продакшене, от того, за кем всё перепроверяют.
Этот курс проводит вас от первого expect до полностью покрытого тестами React-приложения с роутингом и запросами к серверу.
После курса вы сможете
настроить Jest и Testing Library в проекте с нуля, подружив их с линтером, npm-скриптами и редактором;
писать юнит-тесты, которые ловят реальные баги, а не просто набивают процент покрытия;
мокать модули, функции и запросы к серверу и понимать, когда мок оправдан, а когда он превращает тест в фикцию;
работать по TDD: от тестовых кейсов к коду и к рефакторингу при изменении требований;
тестировать React-компоненты, пользовательские действия, асинхронщину и кастомные хуки;
покрыть тестами полноценное SPA — layout, страницы, поиск, роутинг;
заходить в легаси-проект и начинать покрывать его тестами, не переписывая всё заново.
Что внутри
Jest от основ до тонкостей. Установка и настройка, анатомия юнит-теста, все виды проверок, параметризованные тесты, хуки, алиасы. Отдельно — большой блок про моки: базовые моки, шпионы за методами, моки модулей, тестирование ошибок. Watch- и debug-режимы, тестовое покрытие.
TDD. Целый модуль о том, как писать тест до кода: с чего начинать, как составлять тестовые кейсы, как вести разработку от красного к зелёному и что делать, когда требования меняются.
Продвинутая настройка. Несколько конфигов, setup-файлы, глобальные переменные, кастомные матчеры, снепшот-тестирование.
React и Testing Library. Настройка окружения и интеграция с линтером, матчеры для разметки, тестирование действий пользователя (включая асинхронные), кастомные хуки и act, интеграционные тесты компонентов, имитация запросов к серверу.
Нюансы, из-за которых обычно всё и ломается. Query- и By-функции, aria-роли и доступность, сужение круга поиска, кастомный render и renderHook с провайдерами, предупреждение о нехватке act(...).
Тестирование реального SPA. Финальный модуль, где мы покрываем тестами настоящее приложение: layout-компоненты, поиск, ui-компоненты, страницы, категории, главная, роутинг через MemoryRouter.
Отдельный урок — про ИИ и тестирование
Тесты — та часть кодовой базы, которую ИИ пишет охотнее всего и хуже всего. Он легко нагенерирует сотню зелёных тестов, которые не проверяют ничего. Разбираем, где ИИ реально экономит время, а где создаёт иллюзию покрытия — и что нужно понимать самому, чтобы отличить одно от другого.
Что говорят студенты
«Долго не мог найти достойного курса по Jest, и тут волей судьбы встречаю одного из своих любимых frontend-блогеров. Отличный курс, всем советую, оправдывает свою стоимость».
«Курс приобрёл, поскольку при переходе на новую работу почувствовал сильные пробелы в области unit и интеграционного тестирования. К концу курса получил всё необходимое, информация подана максимально понятно, и теперь уже нет сложностей с написанием тестов».
«Я многому научилась на этом курсе! Научилась писать тесты. Написала на работе тесты. Курс 12 из 10».
«Кроме инструментов тестирования, понравилось, что затрагивались моменты по поводу работы с легаси-кодом, советы из практики — потому что этого не хватает в большинстве курсов».
«Классный курс, самый лучший на ру-сегменте».
Кому подойдёт
Действующим JavaScript- и React-разработчикам, у которых тестирование — белое пятно.
Тем, кто выходит на новую работу, где покрытие тестами обязательно.
Тем, кто уже пробовал писать тесты, но получал хрупкие тесты, падающие от любой правки вёрстки.
Что нужно знать заранее
Уверенное владение JavaScript и базовое знакомство с React. Опыт тестирования не нужен — начинаем с нуля.
Чего в курсе нет — честно, чтобы не было завышенных ожиданий:
e2e и скриншотного тестирования (Playwright, Cypress) — курс про юнит- и интеграционные тесты;
примеры на JavaScript, не на TypeScript;
это курс-объяснение с квизами и заданием, а не тренажёр с десятками упражнений: основной формат — разбор практических примеров, которые вы повторяете на своём проекте.
82 урока в 9 модулях, квизы для самопроверки, все ссылки на документацию и вспомогательные инструменты собраны внутри. Доступ к курсу остаётся навсегда.
Программа этой площадки- Вводный модуль
- Основы Jest
- Особенности Jest
- TDD
- Расширение возможностей
- Тестирование React приложений
- Нюансы тестирования React приложений
- Тестирование SPA приложения
- Итоги курса
Получено 01.10.2026