Вопрос с собеседования · Frontend

Что тестировать во фронтенд-приложении на React?

JuniorВыкатка и эксплуатация
Ещё спрашивают так:
  • Какие тесты писать для компонентов?
Коротко

Тестировать поведение, важное пользователю: что показывается при разных данных (пусто, ошибка, загрузка, список), что происходит после действий (отправка формы, фильтр, удаление), валидацию и граничные случаи. Чистую логику (форматирование, расчёты) — простыми unit-тестами. Ключевые сценарии целиком (вход, оформление заказа) — несколькими e2e (Playwright). Не тестировать детали реализации и сторонние библиотеки; снапшоты всего компонента — хрупкие и мало что проверяют.

  • Больше всего — интеграционных тестов компонентов
  • Сеть подменять на уровне запросов (MSW), а не мокать каждый модуль
  • Тест на каждый исправленный баг

А ещё Хороший вопрос: «что сломается для пользователя, если этот тест упадёт?»

Подробно

Для формы заказа: показывает ошибки при пустых полях; блокирует кнопку во время отправки; после успеха — сообщение и очистка; при ошибке сервера — понятный текст и сохранённые данные.

Что хотят услышать

  • Поведение для пользователя и состояния.
  • Логика unit-тестами, сценарии e2e.
  • Без деталей реализации и снапшотов всего.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗Снапшот каждого компонента — лучший способ покрытия, он ловит любые изменения
  • ✗Проверять, что useState был вызван с нужным аргументом
  • ✓Поведение для пользователя: состояния и результаты действий; логика — unit, сценарии — e2e
  • ✗Тестировать сторонние библиотеки вместе со своим кодом

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования