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 тестов
Проект
Загрузчик страниц
<span class="translation_missing" title="translation missing: ru.web.programs.track.blocks_ru.new_identity.syllabus.illustration">Illustration</span>

В этом проекте вы протестируете утилиту, которая скачивает веб-страницы вместе со всеми ресурсами (CSS, изображения и т. п.) для офлайн-просмотра (по аналогии с Wget или HTTrack).

В ходе работы вы закрепите навыки тестирования асинхронного кода и примените библиотеку Nock, чтобы сделать тестовые сценарии предсказуемыми и надёжными.

Этот проект прокачает ваши навыки в области тестирования асинхронного кода и даст вам практический опыт в разработке тестов для реальных приложений."

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

Просто, наглядно и всегда под рукой
Вы изучаете теорию в удобном текстовом формате — легко читать даже с телефона. Живые примеры помогают сразу понять, как всё работает на практике. Материал выстроен так, чтобы вы шаг за шагом двигались от простого к сложному, не упуская важных деталей
Проверяем и закрепляем знания
После каждой темы вы проходите квизы, которые помогают убедиться, что вы всё поняли. Вопросы разного уровня сложности дадут возможность как проверить базу, так и попрактиковаться в применении знаний
Учитесь на реальных задачах
Мы создали удобную виртуальную среду, где вы решаете задачи прямо в браузере. У вас есть редактор кода, консоль и автоматические тесты, которые моментально показывают результат
Ваш AI-наставник в учебе
Наш Учебный помощник на базе ИИ — это как наставник, который всегда под рукой. Он понимает, где вы находитесь в курсе, что нужно сделать, и как выглядит ваш код. Если что-то пошло не так, вы сразу получите понятные и полезные подсказки
Занимаетесь сами, но не в одиночестве
Тяжело сохранять мотивацию, если обучаешься самостоятельно, поэтому мы создали крепкое IT-сообщество, где каждый студент получает поддержку и находит полезные контакты среди других разработчиков
IT-сообщество
Стоимость курса
Старт в любой момент
Продолжительность 2 месяца
Свободный режим учебы
AI-помощник
Интегрированное обучение: теория, тесты, тренажеры, проекты
Членство в IT-сообществе
от 3 900 ₽/мес
Хотите учиться от компании?

Расскажите вашему работодателю о Хекслете

Иллюстрация

Вопрос-ответ

Даже опытные разработчики найдут в наших курсах полезные знания. Мы подробно изучаем сложные структуры данных и их применение в задачах оптимизации кода.

Занятия помогут вам укрепить навыки программирования, улучшить архитектуру кода и глубже понять принципы работы алгоритмов. Курс поможет не только укрепить текущие навыки, но и подготовиться к следующему карьерному шагу

Вы можете учиться в своём темпе, срок обучения не ограничен.

Мы рекомендуем выделять 5-10 часов в неделю. Так с одной стороны обучение будет достаточно интенсивным, чтобы не растягивать его надолго, а с другой — достаточно комфортным, чтобы совмещать с работой и успевать отдыхать

Материал программы — это готовые курсы с адаптированной для новичков теорией, тестами на закрепление и большим количеством практических упражнений с автоматизированной проверкой прямо в браузере. В некоторых треках есть проект — вы создадите приложение, которое даст опыт реальной разработки

Мы принимаем карты Visa, MasterCard и МИР любого банка, валюта счёта тоже может быть любой