Тестирование фронтенда
2026-02-26 16:56 Diff

React Testing Library

Hexlet

React Testing Library

  • Ставится поверх DOM Testing Library добавляя API для работы с React компонентами
  • То есть ваши тесты будут работать не с экземплярами отрендеренных React-компонентов, а с реальными DOM узлами

Цели

  • Поддерживаемые тесты
  • Уверенность в тестах
  • Избегайте проверок деталей реализации
    • Внутреннее состояние компонента
    • Внутренние методы компонента
    • Методы жизненного цикла компонента
    • Дочерние компоненты
  • Долгоиграющие тесты
    • Рефакторинг не ломает ваши тесты

Методы API

render

  • Замена библиотеке Enzyme
    • Концептуальное отличие
    • НЕ поддерживает shallow rendering
  • На RTL невозможно мигрировать с Enzyme
  • Избегайте мока компонентов
    • если очень нужно -> jest.fn

Рекомендуем использовать библиотеку Mock Service Worker library для декларативного мока взаимодействия с API в ваших тестах вместо того, чтобы делать стаб window.fetch.

Events

React Testing Library не особо заботят реальные компоненты