Какие виды тестов нужны frontend-приложению?
Продвинутые темы
Фронтенд-приложению нужны разные виды тестов: unit, интеграционные, end-to-end, а также снапшот-, визуальные и тесты доступности. Вместе они образуют пирамиду тестирования.
Виды тестов
Unit (модульные)
Изолированная проверка функций, утилит, хуков, редьюсеров, отдельных компонентов. Быстрые, многочисленные.
expect(formatPrice(1000)).toBe('1 000 ₽');Инструменты: Jest, Vitest.
Интеграционные
Взаимодействие нескольких частей: компонент + хук + мок API, форма целиком.
Инструменты: React Testing Library.
End-to-End (E2E)
Полный пользовательский сценарий в реальном браузере (логин → действие → результат). Медленные, реалистичные.
Инструменты: Playwright, Cypress.
Специализированные
- Снапшот — фиксируют разметку/вывод, ловят непреднамеренные изменения.
- Визуальные регрессионные — сравнивают скриншоты (Storybook + Chromatic).
- Доступности (a11y) — axe, jest-axe.
- Производительности — Lighthouse.
Пирамида
Много быстрых unit → меньше интеграционных → мало медленных E2E. Плюс визуальные/a11y точечно.
Что тестировать в первую очередь
Критичную бизнес-логику, главные пользовательские сценарии, переиспользуемые компоненты, места прошлых багов.
Коротко для собеседования
Фронту нужны: unit (функции, хуки, компоненты — Vitest/Jest), интеграционные (взаимодействие — Testing Library), E2E (сценарии — Playwright/Cypress), плюс снапшот, визуальные регрессионные и a11y-тесты. Пирамида: много unit, мало E2E; в приоритете критичная логика и главные сценарии.