Воркшоп 'Тестирование фронтенда на React'

22.02.2019-24.02.2019

Закончился воркшоп по тестированию реакта. Научился совершенно новому подходу к тестированию фронта. Познакомился в новыми инструментами для логгирования и дебага. Мы тестировали чистый реакт, но подходы можно применить в любом проекте, разница может быть при работе с побочными эффектами. Очень помогли пройденые проекты хекслета. В последний день вспоминал/собирал код из них, оставалось только соединить с реактом или протестировать.

Решил выписать тезисы после воркшопа для себя.

  • Цель тестирования: проверка работоспособности приложения, а не компоненты внутри него
  • Работаем только с готовой версткой, не завязываемся на компоненты (внутреннюю реализацию)
  • Не надо тестировать статичный рендеринг, надо тестировать поведение
  • Матчеры должны соответствовать семантике операции
  • Матчеры должны давать такой вывод, в котором показывается DOM без необходимости отдельно его дебажить
  • Каждый тест должен быть на 100 процентов изолирован от других и работать, как будто других не существует
  • Не тестировать стейт и пропсы
  • Использовать Page Object для выборок
  • Тестировать по минимуму
  • Использовать логгирование в тестах
  • Снапшоты только для тестирования верстки, например, библиотека компонентов
  • Stub используются для подмены, когда есть побочные эффекты (запросы, куки)
  • Mock используются для проверки вызова функции, имеют смысл при тестировании таймеров, в большинстве случаев бесполезны и даже вредны
  • Тесты не гарантируют работоспобности (но выбора нет)
  • Сначала тестировать нормальные случаи, возможные ошибки не так важны, нет задачи 100% покрытия
  • Если не знаешь писать тест или нет, не пиши (не перетестчивать)
  • В идеале писать тесты устойчивые к изменениям в коде

Ссылки

Спасибо Кириллу за воркшоп. Попробую применить знания на работе, может быть напишу статью, как получилось применить знания в связке react, graphql.

Subscribe to my mailing list

* indicates required
Share
Send

Related Posts