Об этом проекте
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 для переиспользуемых хуков. Она широко применяется и поддерживается большим сообществом разработчиков.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.