Jest
Навык писать автотесты на JavaScript, тестировать приложения и повышать их качество, улучшая надёжность кода
Входит в подписку (более 50 навыков)
Евгений Филиппов
выпускник Хекслета

Программа обучения
Причины тестирования
Понимание роли тестирования в разработке, определение задач, которые должны решать тесты, преимущества автоматизации перед ручным тестированием
Утверждения
Знакомство с модулем assert и его функциями, использование assert для проверки условий
Библиотека power-asser
Анализ и улучшение выводов утверждений, упрощение отладки тестов с помощью power-assert
Знакомство с Jest
Настройка и конфигурация Jest в проекте, базовое написание и запуск тестов, структура тестового проекта на Jest
Матчеры Jest
Основные матчеры: toBe(), toEqual(), toMatch(), создание и использование кастомных матчеров
Модульные тесты
Написание тестов для отдельных функций
Подготовка данных
Использование хуков beforeEach() и afterEach(), создание и управление фикстурами для тестов, организация тестовых данных для повторного использования.
Плохие и хорошие практики тестирования
Типичные ошибки при написании тестов, как избежать хрупких и ненадежных тестов
Покрытие кода тестами
Анализ покрытия кода с помощью инструментов, поиск непротестированных участков кода
Разработка через тестирование (TDD)
Принципы и этапы TDD, написание тестов до реализации функциональности
Фикстуры
Подготовка тестовых данных с использованием фикстур, использование фикстур в Jest для упрощения тестов
Тестирование ошибок
Тестирование кода, который выбрасывает исключения, использование матчера toThrow() в Jest
Побочные эффекты
Выявление и изоляция побочных эффектов в коде, сложности тестирования кода с побочными эффектами
Тестирование кода, взаимодействующего с файлами
Восстановление окружения после тестов, использование виртуальной файловой системы
Инверсия зависимостей
Принцип инверсии зависимостей (Dependency Inversion), устранение побочных эффектов при помощи DI
Тестирование HTTP-запросов
Стаббинг HTTP-запросов для изоляции тестов
Моки
Знакомство с мокингом и его отличия от стабов, создание и использование моков в Jest
Property-based тестирование
Принципы тестирования на основе свойств, генерация тестовых данных для property-based тестов
Проекты

Тестирование загрузчика страниц (JS)
Загрузчик страниц – библиотека, которая умеет скачивать страницы по сети и сохранять их на локальном диске. Акцент в проекте делается на ее тестировании. Из-за обилия побочных эффектов, здесь придется правильно работать с их подавлением, стабами/моками и возможными ошибками.
Как проходит обучение
Теория в удобном текстовом формате — легко читать даже с телефона. Живые примеры помогают понять, как всё работает. Материал выстроен так, чтобы вы двигались шаг за шагом, не упуская важных деталей
После каждой темы вы проходите квизы, которые помогают убедиться, что вы всё поняли. Вопросы разного уровня сложности дадут возможность как проверить базу, так и попрактиковаться в применении знаний
Мы создали удобную виртуальную среду, где вы решаете задачи прямо в браузере. У вас есть редактор кода, консоль и автоматические тесты, которые моментально показывают результат
Учебный помощник на базе ИИ — это наставник, который всегда под рукой. Он понимает, что нужно сделать и как выглядит ваш код. Если что-то пошло не так, вы сразу получите понятные и полезные подсказки
Подписка от 2 400 ₽/мес
Этот навык уже входит в подписку. Оформи доступ и открывай все навыки сразу (50+)
Подписаться →- 50+ навыков в одной подписке
- Пожизненный доступ к теории
- Обучение с ИИ-ассистентом
- Отмена в любой момент