Angular 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 →
La Angular Testing Library
s'appuie sur la
DOM Testing Library
en ajoutant des API spécifiques pour les composants Angular.
À partir de la version 17 d'ATL, vous devez également installer @testing-library/dom :
- npm
- Yarn
npm install --save-dev @testing-library/angular @testing-library/dom
yarn add --dev @testing-library/angular @testing-library/dom
Vous pouvez également utiliser la commande ng add.
Cette commande configure votre projet pour utiliser Angular Testing Library, ce qui inclut également l'installation de @testing-library/dom.
ng add @testing-library/angular
Le problème
Vous souhaitez écrire des tests maintenables pour vos composants Angular. Dans cette optique, vos tests doivent éviter de reposer sur les détails d'implémentation de vos composants et se concentrer plutôt sur vous donner le niveau de confiance attendu. Vous voulez également que votre suite de tests reste maintenable à long terme, afin que les refontes de composants (modifications d'implémentation sans changement de fonctionnalité) ne cassent pas vos tests et ne ralentissent pas votre équipe.
Cette solution
La Angular Testing Library est une solution extrêmement légère pour tester des composants Angular.
Elle fournit des fonctions utilitaires minimalistes basées sur la
DOM Testing Library
pour encourager de meilleures pratiques de test. Son principe directeur fondamental est :
Plutôt que de manipuler des instances de composants Angular rendus, vos tests interagiront directement
avec les nœuds DOM. Les utilitaires fournis facilitent l'interrogation du DOM comme le ferait un utilisateur :
trouver des éléments de formulaire par leur label, localiser des liens et boutons via leur texte.
La bibliothèque propose également une méthode de secours via data-testid pour les éléments où le contenu
textuel ou le label ne sont pas pertinents ou pratiques.
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.
La Angular Testing Library :
Réexporte les fonctions utilitaires
queryetfireEventde laDOM Testing Library.Encapsule les fonctions
fireEventpour appeler automatiquementdetectChanges()après chaque événementEst agnostique aux frameworks de test et fonctionne avec tous