React Testing Library
Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →
React Testing Library étend DOM Testing Library en ajoutant
des API pour travailler avec les composants React.
Installation
Pour commencer avec React Testing Library, installez-la avec sa dépendance
requise @testing-library/dom :
- npm
- Yarn
npm install --save-dev @testing-library/react @testing-library/dom
yarn add --dev @testing-library/react @testing-library/dom
Avec TypeScript
Pour une couverture complète des types, installez également les types pour react et react-dom :
- npm
- Yarn
npm install --save-dev @testing-library/react @testing-library/dom @types/react @types/react-dom
yarn add --dev @testing-library/react @testing-library/dom @types/react @types/react-dom
Le problème
Vous souhaitez écrire des tests maintenables pour vos composants React. Dans cette optique, vos tests doivent éviter les détails d'implémentation et se concentrer sur la confiance qu'ils sont censés apporter. De plus, votre suite de tests doit rester maintenable à long terme afin que les refontes de composants (changements d'implémentation sans modification fonctionnelle) ne cassent pas vos tests et ne ralentissent pas votre équipe.
Cette solution
React Testing Library est une solution légère pour tester des composants React.
Elle fournit des utilitaires simples basés sur react-dom et react-dom/test-utils,
encourageant les bonnes pratiques de test. Son principe directeur principal est :
Plutôt que de manipuler des instances de composants React rendus, vos tests
travailleront directement avec les nœuds DOM. Les utilitaires facilitent l'interrogation du DOM
comme le ferait un utilisateur : trouver des éléments de formulaire par leur label,
localiser liens et boutons via leur texte. Une méthode de secours avec data-testid
est également fournie pour les cas où le texte ou le label ne sont pas pertinents.
Cette bibliothèque encourage le développement d'applications plus accessibles et permet de concevoir des tests qui utilisent vos composants comme le ferait un utilisateur. Cela renforce la confiance dans le bon fonctionnement de votre application en conditions réelles.
Cette bibliothèque remplace Enzyme. Bien qu'il soit possible de suivre ces principes avec Enzyme, son respect est plus difficile à cause des utilitaires supplémentaires qu'il fournit (qui facilitent le test des détails d'implémentation). Plus d'informations dans la FAQ.
Ce que cette bibliothèque n'est pas :
Un runner ou framework de test
Liée à un framework de test spécifique (bien que nous recommandions Jest, elle fonctionne avec tous. Voir Utilisation sans Jest)
NOTE : Cette bibliothèque repose sur
DOM Testing Libraryoù se trouve la logique principale des requêtes.
Tutoriels
Visionnez la vidéo "What is React Testing library?" ci-dessous pour une présentation de la bibliothèque.

Ne manquez pas non plus ce tutoriel sur React Testing Library.