Aller au contenu principal

Introduction

[Traduction Bêta Non Officielle]

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 →

Le problème

Vous souhaitez écrire des tests maintenables pour votre interface Web. Dans cette optique, vos tests doivent éviter d'inclure des détails d'implémentation de vos composants et plutôt se concentrer sur la confiance qu'ils sont censés vous apporter. De plus, votre suite de tests doit rester maintenable sur le long terme pour 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 DOM Testing Library est une solution très légère pour tester les nœuds DOM (que ce soit via une simulation avec JSDOM comme fourni par défaut avec Jest ou dans un navigateur). Ses principaux utilitaires permettent d'interroger le DOM pour trouver des nœuds de manière similaire à la façon dont l'utilisateur découvre les éléments dans la page. Ainsi, cette bibliothèque garantit que vos tests vous inspirent confiance dans votre code d'interface. Le principe directeur fondamental de la DOM Testing Library est :

Plus vos tests ressemblent à la façon dont votre logiciel est utilisé, plus ils vous donnent de confiance.

Pour atteindre cet objectif, ses utilitaires facilitent l'interrogation du DOM comme le ferait un utilisateur : trouver des champs de formulaire par leur libellé, localiser des liens et boutons via leur texte visible, etc. Elle propose aussi une méthode recommandée pour trouver des éléments via un attribut data-testid, offrant une échappatoire lorsque le contenu texte ou le libellé 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.

Ce que cette bibliothèque n'est pas :

  1. Un runner ou framework de test

  2. Liée à un framework de test spécifique (bien que nous recommandions Jest, elle fonctionne avec tous. Voir Utilisation sans Jest)