jest
Моки и стабы
Модульное тестирование
TDD
Property-based тестирование
Автоматизация тестирования на JavaScript
Навык писать автотесты на JavaScript, тестировать приложения и повышать их качество, улучшая надёжность кода

Егор Самойлин
выпускник Хекслета
Программа обучения
4 месяца
6 часов теории
60 часов практики
Что важно знать заранее
Для успешного прохождения курса вам нужно базовое умение программировать на JavaScript, включая понимание синтаксиса, функций и работы с объектами. Будет плюсом общее представление об асинхронности
Если вы пока не знакомы с программированием, не переживайте!
У нас есть вводные курсы, которые помогут вам освоить основы и подготовиться к обучению. Мы объясним всё с нуля — доступно и наглядно
Причины тестирования
Понимание роли тестирования в разработке, определение задач, которые должны решать тесты, преимущества автоматизации перед ручным тестированием
Утверждения
Знакомство с модулем 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 тестов
Проект
Загрузчик страниц

В этом проекте вы протестируете утилиту, которая скачивает веб-страницы вместе со всеми ресурсами (CSS, изображения и т. п.) для офлайн-просмотра (по аналогии с Wget или HTTrack).
В ходе работы вы закрепите навыки тестирования асинхронного кода и примените библиотеку Nock, чтобы сделать тестовые сценарии предсказуемыми и надёжными.
Этот проект прокачает ваши навыки в области тестирования асинхронного кода и даст вам практический опыт в разработке тестов для реальных приложений."
Как проходит обучение
Просто, наглядно и всегда под рукой
Вы изучаете теорию в удобном текстовом формате — легко читать даже с телефона. Живые примеры помогают сразу понять, как всё работает на практике. Материал выстроен так, чтобы вы шаг за шагом двигались от простого к сложному, не упуская важных деталей
Проверяем и закрепляем знания
После каждой темы вы проходите квизы, которые помогают убедиться, что вы всё поняли. Вопросы разного уровня сложности дадут возможность как проверить базу, так и попрактиковаться в применении знаний
Учитесь на реальных задачах
Мы создали удобную виртуальную среду, где вы решаете задачи прямо в браузере. У вас есть редактор кода, консоль и автоматические тесты, которые моментально показывают результат
Ваш AI-наставник в учебе
Наш Учебный помощник на базе ИИ — это как наставник, который всегда под рукой. Он понимает, где вы находитесь в курсе, что нужно сделать, и как выглядит ваш код. Если что-то пошло не так, вы сразу получите понятные и полезные подсказки
Занимаетесь сами, но не в одиночестве
Тяжело сохранять мотивацию, если обучаешься самостоятельно, поэтому мы создали крепкое IT-сообщество, где каждый студент получает поддержку и находит полезные контакты среди других разработчиков

Стоимость курса
Старт в любой момент
Продолжительность 2 месяца
Свободный режим учебы
AI-помощник
Интегрированное обучение: теория, тесты, тренажеры, проекты
Членство в IT-сообществе
от 3 900 ₽/мес
Хотите учиться от компании?
Расскажите вашему работодателю о Хекслете
