Этот курс представляет собой введение и исследование тестирования в Интернете.
В этом курсе вы узнаете о следующем:
- Основы тестирования
- Автоматизированное и ручное тестирование
- Где и как запускать тесты
- Лучшие практики
- Философия тестирования, включая то, что тестировать, кто несет ответственность и как рассматривать тестирование как средство достижения цели, а не как саму цель.
Курс также включает краткий практический пример кода для обучения.
В объем курса входит JavaScript и модель документа во внешнем интерфейсе, а также тестирование библиотек на внутреннем интерфейсе, выполняемое в такой среде, как Node.js. Он не предполагает никакого опыта тестирования, но вам потребуются знания JavaScript и опыт работы с Node.js или аналогичным. Он подходит как новичкам, так и опытным разработчикам.
Поскольку большинство платформ и инструментов тестирования используют общий язык, Learn Testing использует общий подход к тестированию. Там, где важно уточнить детали, мы будем использовать Vitest , тестовую среду, популярность которой растет, и продемонстрируем, как тестировать веб-компоненты, написанные с использованием React или Lit. Подробнее об этом выборе можно узнать в приложении .
Вы можете пройти этот курс от начала до конца, но также можете использовать его в качестве справочного материала по конкретным темам. Там, где это уместно, курс содержит ссылки на ресурсы.
Вот что вы узнаете:
Начните с тестирования
Что такое тестирование
Это общее введение в тестирование, включая практические примеры тестирования на JavaScript. Он также включает введение в масштаб каждого теста.
Где проходят тесты
Тесты могут помочь вам продуктивно работать и эффективно писать программное обеспечение. Хотя их можно запускать вручную с помощью командной строки, вы также можете запускать их как часть автоматизированного процесса или системы сборки.
Среда тестирования
Инструменты времени выполнения, такие как Node, предназначены для кода общего назначения, а код тестирования для браузера можно запускать либо в эмулируемой среде, либо с использованием платформы, предназначенной для тестирования браузера.
Виды автоматизированного тестирования
Узнайте об распространенных классификациях типов тестов, которые в основном соответствуют их масштабу. Важно отметить, что типы тестов не имеют строгого определения и могут меняться в зависимости от ваших потребностей.
Что тестировать и ваш подход
Определение наиболее важных частей вашей кодовой базы, к которым необходимо применить тщательное тестирование, может оказаться трудным решением. В этом модуле представлена идея тестирования как средства достижения цели и способы оценки вашего кода для тестирования.
Тестирование компонентов на практике
В этом практическом модуле вы узнаете, как тестировать не совсем идеальный компонент React. Vitest использует три различных примера: перехват сетевого трафика, созданного с помощью fetch()
, имитация внешней зависимости и использование Context
React для предоставления специального фрагмента кода только для теста.
Статический анализ
Использование таких инструментов, как TypeScript и ESLint, хотя и не является устоявшимся подходом к тестированию, может обеспечить своего рода автоматическую проверку. В этом модуле обсуждаются эти альтернативные инструменты.
Утверждения и другие примитивы
Инструменты торговли
Узнайте о примитивах, общих для большинства библиотек или платформ тестирования, включая test()
и assert
, которые станут основой каждого теста, который вы пишете на JavaScript.
Вскоре
- Избегайте распространенных ошибок тестирования
- Тестовые двойки
- Тестовые библиотеки и утилиты
- Определитесь с тестовой средой
Оставшаяся часть этого раздела будет содержать больше страниц, посвященных средам тестирования и библиотекам, способам их использования и тому, как решить, какой из них и какие другие инструменты использовать.
Скоро: Проблемно-ориентированное тестирование
Вы изучите шаблоны для решения ряда распространенных задач веб-тестирования.
Скоро: автоматизированное тестирование на практике
Это практический раздел, показывающий, как протестировать сайт электронной коммерции, созданный с помощью Next.js, включая код, который вы можете проверить и изучить самостоятельно. Вы узнаете, как тестировать его компоненты, как работать с его внешними сервисами, включая оплату, для тестирования и как создавать сквозные тесты для сайта, у которого есть дополнительная страница входа.
Скоро: Философия тестирования
Тестирование может стать инженерной задачей, но знание того, что тестировать, кто несет ответственность и лучшие практики, также может стать проблемой для команды разработчиков.
Скоро: написание тестируемого кода
В этом курсе представлены рекомендации по тестированию кода в том виде, в котором он существует , но ваша команда может использовать различные шаблоны, чтобы упростить тестирование вашего кода. В этом разделе будут рассмотрены некоторые подходы.