PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

Какие виды тестов нужны 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; в приоритете критичная логика и главные сценарии.

Другие вопросы раздела