Об этом проекте

React Testing Library (RTL) — это легковесная утилита для тестирования React, которая продвигает хорошие практики тестирования, поощряя тесты, максимально приближенные к реальному использованию программного обеспечения. Она основана на `react-dom/test-utils` и предоставляет простые, полные утилиты для тестирования DOM. Основной принцип: «Чем больше ваши тесты похожи на то, как используется ваше ПО, тем больше уверенности они дают». Ключевые особенности: - **Ориентированные на пользователя запросы**: Используйте функции `getBy`, `queryBy` и `findBy` для взаимодействия с элементами DOM так, как это делает пользователь, с поддержкой регулярных выражений. - **Поддержка поддерживаемых тестов**: Фокус на функциональности, а не на деталях реализации, поэтому рефакторинг не ломает тесты. - **Работает с React Hooks и классами**: Тесты одинаковы независимо от реализации компонента. - **Легковесность**: Предоставляет только методы, поощряющие хорошие практики тестирования. Для установки требуется `@testing-library/react` и, начиная с версии 16, `@testing-library/dom`. Версии 13+ требуют React v18. Рекомендуется также установить `@testing-library/jest-dom` для пользовательских Jest-матчеров. Базовое использование включает рендеринг компонентов с помощью `render`, имитацию событий через `fireEvent` и запросы элементов через `screen`. Сложные примеры демонстрируют мокирование API-вызовов с помощью Mock Service Worker (MSW) для сценариев входа и обработки ошибок. RTL является частью семейства Testing Library, которое включает React Hooks Testing Library для переиспользуемых хуков. Она широко применяется и поддерживается большим сообществом разработчиков.