Чему вы научитесь
- Основы тестового фреймворка Jest
- Хуки для тестов
- Моки и шпионы для тестов
- Тестирование функционала и ошибок
- Нюансы конфигурации тестов
- Разные режимы запуска тестов
- TDD
- Сбор статистики тестового покрытия и установка пороговых значений
- Кастомные тестовые проверки
- Тестирование React-компонентов
- Тестирование React хуков
- Имитация пользовательских действий с приложением
- Создание кастомных оберток тестирования
- Тестирование SPA приложений
- Лучшие практики при создании тестов
- и многое другое
О курсе
Вы боитесь трогать чужой код. Любой рефакторинг — это лотерея: проверить, что ничего не сломалось, можно только руками прокликав всё приложение. А на код-ревью прилетает «а где тесты?».
Тестирование — та компетенция, которая отделяет разработчика, которому доверяют задачи в продакшене, от того, за кем всё перепроверяют.
Этот курс проводит вас от первого 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 модулях, квизы для самопроверки, все ссылки на документацию и вспомогательные инструменты собраны внутри. Доступ к курсу остаётся навсегда.
Для кого этот курс
Начальные требования
- Владение JavaScript
- Базовое знакомство с React
- Желание научиться писать тесты
Наши преподаватели
Как проходит обучение
Курс проходит в формате записанных видео уроков.
На курсе есть тесты для проверки знаний.
Программа курса
Сертификат
Отзывы прошедших курс
Входит в 1 программу
Что вы получаете
- навыки и знания, востребованные на рынке
- ответы на вопросы в комментариях под уроками от автора курса
- сертификат