Repolode
testing-library

testing-library/react-testing-library

Лёгкий набор утилит для тестирования React DOM: он позволяет находить элементы и взаимодействовать с компонентами так, как это делают пользователи.

Звёзды
19,672
Форки
1,171
Открытые issues
84
Последний коммит
2 месяца назад

Что это?

React Testing Library предоставляет утилиты для тестирования компонентов React, построенные поверх react-dom и react-dom/test-utils. Основная идея библиотеки — тесты должны отражать то, как используют программу, поэтому она работает с узлами DOM, а не с экземплярами компонентов, и не раскрывает детали реализации.

В библиотеке есть render, запросы screen, например getByRole, getByLabelText и getByText, а также fireEvent для имитации взаимодействий пользователя. Запросы с префиксами get, query и find охватывают типичные случаи: ожидание появления элемента, проверку его отсутствия и ожидание, пока он появится. Начиная с версии 16, библиотека требует @testing-library/dom в качестве peer dependency, а для версий 13 и новее нужен React 18.

Обычно библиотеку используют с Jest или другими тестовыми раннерами. Она хорошо сочетается с @testing-library/jest-dom для проверок DOM и с Mock Service Worker для имитации API-вызовов. Для переиспользуемых пользовательских хуков существует отдельная библиотека React Hooks Testing Library.

Ключевые возможности

  • 01Находит элементы по доступным ролям, меткам и тексту — так же, как их ищут пользователи.
  • 02Предоставляет вспомогательные функции render и fireEvent для монтирования компонентов и имитации взаимодействий.
  • 03Включает асинхронные утилиты find и waitFor для обработки обновлений интерфейса.
  • 04Работает с Jest и другими тестовыми раннерами поверх react-dom.
  • 05Сочетается с матчерами jest-dom, упрощающими проверки DOM.

Сценарии использования

  • Написание модульных и интеграционных тестов компонентов React, устойчивых к рефакторингу.
  • Тестирование форм, пользовательских сценариев и условного отображения в приложениях React.
  • Проверка асинхронного поведения интерфейса, например состояний загрузки и полученных данных.

Быстрый старт

  1. 1

    Установите React Testing Library и DOM testing utilities как dev-зависимости с помощью npm

    npm install --save-dev @testing-library/react @testing-library/dom
  2. 2

    Или установите их с помощью yarn

    yarn add --dev @testing-library/react @testing-library/dom
  3. 3

    Напишите тест, который рендерит компонент и ищет элементы так же, как это делают пользователи, используя render и screen из библиотеки

Что важно знать

  • Начиная с версии 16, @testing-library/dom нужно устанавливать отдельно.
  • Для версий 13 и выше требуется React 18; в проектах с более старой версией React необходимо использовать версию 12.

Темы

Частые вопросы

Что такое react-testing-library?
Лёгкий набор утилит для тестирования React DOM: он позволяет находить элементы и взаимодействовать с компонентами так, как это делают пользователи. React Testing Library предоставляет утилиты для тестирования компонентов React, построенные поверх react-dom и react-dom/test-utils. Основная идея библиотеки — тесты должны отражать то, как используют программу, поэтому она работает с узлами DOM, а не с экземплярами компонентов, и не раскрывает детали реализации.
react-testing-library можно использовать бесплатно? Какая у него лицензия?
react-testing-library распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
react-testing-library всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в react-testing-library — 27 авг. 2026 г..
Для чего можно использовать react-testing-library?
Написание модульных и интеграционных тестов компонентов React, устойчивых к рефакторингу. Тестирование форм, пользовательских сценариев и условного отображения в приложениях React. Проверка асинхронного поведения интерфейса, например состояний загрузки и полученных данных.
Как установить react-testing-library?
Установите React Testing Library и DOM testing utilities как dev-зависимости с помощью npm: npm install --save-dev @testing-library/react @testing-library/dom Или установите их с помощью yarn: yarn add --dev @testing-library/react @testing-library/dom Напишите тест, который рендерит компонент и ищет элементы так же, как это делают пользователи, используя render и screen из библиотеки
Где скачать react-testing-library?
Исходный код и инструкции по установке — на GitHub: https://github.com/testing-library/react-testing-library

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Открытые библиотеки для React и Svelte, позволяющие создавать интерактивные интерфейсы на основе узлов: блок-схемы, графы и редакторы рабочих процессов.

38,7 тыс.2,6 тыс.TypeScriptMITОбновлён 17 часов назад