Тестирование
В React и Next.js существует несколько типов тестов, каждый из которых имеет своё назначение и варианты использования. На этой странице представлен обзор типов тестов и популярных инструментов для тестирования вашего приложения.
Типы тестов
- Модульное тестирование (Unit testing) предполагает тестирование отдельных модулей (или блоков кода) изолированно. В React модулем может быть отдельная функция, хук или компонент.
- Тестирование компонентов (Component testing) — это более узконаправленный вид модульного тестирования, где основным объектом тестирования являются React-компоненты. Это может включать проверку рендеринга компонентов, их взаимодействия с пропсами и поведения в ответ на действия пользователя.
- Интеграционное тестирование (Integration testing) предполагает проверку совместной работы нескольких модулей. Это может быть комбинация компонентов, хуков и функций.
- Сквозное тестирование (End-to-End, E2E Testing) предполагает проверку пользовательских сценариев в среде, имитирующей реальные условия, например в браузере. Это означает тестирование конкретных задач (например, процесс регистрации) в среде, приближенной к боевой.
- Снэпшот-тестирование (Snapshot testing) включает захват рендеренного вывода компонента и сохранение его в файл снэпшота. При запуске тестов текущий рендер компонента сравнивается с сохранённым снэпшотом. Изменения в снэпшоте указывают на неожиданные изменения в поведении.
Руководства
Ознакомьтесь с руководствами ниже, чтобы узнать, как настроить Next.js с этими популярными инструментами тестирования:
Vitest
Узнайте, как настроить Next.js с Vitest и React Testing Library — двумя популярными библиотеками для модульного тестирования.
Jest
Узнайте, как настроить Next.js с Jest для модульного тестирования (Unit Testing).
Playwright
Узнайте, как настроить Next.js с Playwright для сквозного (E2E) и интеграционного тестирования.
Cypress
Узнайте, как настроить Next.js с Cypress для сквозного (E2E) тестирования и тестирования компонентов.