Aller au contenu principal

Marko Testing Library

[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 →

Marko Testing Library s'appuie sur DOM Testing Library en ajoutant des API pour travailler avec les composants Marko.

npm install --save-dev @marko/testing-library

Le problème

Vous souhaitez écrire des tests maintenables pour vos composants Marko. Dans cet objectif, vous voulez que vos tests évitent les détails d'implémentation et se concentrent plutôt sur leur vocation première : vous donner confiance. Ainsi, votre suite de tests doit rester maintenable à long terme pour 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

@marko/testing-library est une solution très légère pour tester des composants Marko. Elle fournit des utilitaires simples basés sur @testing-library/dom qui encouragent de meilleures pratiques de test. Son principe fondamental est :

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

Ainsi, plutôt que de manipuler des instances de composants Marko rendus, vos tests travailleront avec de véritables nœuds DOM. Les utilitaires fournis par cette bibliothèque facilitent l'interrogation du DOM de la même manière qu'un utilisateur le ferait : trouver des éléments par leur texte d'étiquette (comme un utilisateur), trouver des liens et des boutons par leur texte (comme un utilisateur). Elle propose une API minimale et ciblée, et sait se faire oublier si nécessaire grâce à des échappatoires intégrées.

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 : vous pouvez l'utiliser avec Jest, mocha ou d'autres exécuteurs.

NOTE : Cette bibliothèque repose sur DOM Testing Library où se trouve la logique principale des requêtes.