Тестирование JavaScript и React приложений

Вы боитесь трогать чужой код: проверить, что рефакторинг ничего не сломал, можно только прокликав всё руками, а на ревью прилетает «а где тесты?». Курс ведёт от первого expect до полностью покрытого тестами React-SPA с роутингом и запросами к серверу: Jest, моки и шпионы, TDD, coverage, снепшоты, Testing Library,…
Средний уровень
1.5-2 часа в неделю
Часть
1 программы →
Сертификат Stepik

Чему вы научитесь

  • Основы тестового фреймворка 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-разработки и действующие разработчики, желающие закрыть пробелы в области тестирования

Начальные требования

  • Владение JavaScript
  • Базовое знакомство с React
  • Желание научиться писать тесты

Наши преподаватели

Как проходит обучение

Курс проходит в формате записанных видео уроков.

На курсе есть тесты для проверки знаний.

Программа курса

загружаем...
Certificate

Сертификат

Stepik

Отзывы прошедших курс

4.9
из 5
из 28 отзывов
28 отзывов
загружаем...

Входит в 1 программу

  •    
     
     

Что вы получаете

  • навыки и знания, востребованные на рынке
  • ответы на вопросы в комментариях под уроками от автора курса
  • сертификат

Сколько стоит обучение

Price: 3 550 ₽
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.

Часто задаваемые вопросы

Расскажите о курсе друзьям

Price: 3 550 ₽