Быстрая и гибкая CSS-in-JS-библиотека для стилизации приложений с помощью строковых или объектных стилей и предсказуемой композиции.
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
Установите React Testing Library и DOM testing utilities как dev-зависимости с помощью npm
npm install --save-dev @testing-library/react @testing-library/dom - 2
Или установите их с помощью yarn
yarn add --dev @testing-library/react @testing-library/dom - 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 обновляется ежедневно.
Похожие проекты
JavaScript-библиотека для создания интерактивных пользовательских интерфейсов из компонентов, работающих в вебе, на сервере и нативных платформах.
Фреймворк для создания нативных приложений для Android и iOS на React: интерфейс на JavaScript отображается с помощью компонентов платформы.
Headless-редактор форматированного текста на базе ProseMirror, не привязанный к фреймворку и расширяемый множеством расширений.
Открытые библиотеки для React и Svelte, позволяющие создавать интерактивные интерфейсы на основе узлов: блок-схемы, графы и редакторы рабочих процессов.
Открытое мультиплатформенное и мультифреймворковое решение для создания приложения на React или Vue, работающего в WeChat, Alipay и других мини-программах, H5 и React Native.