Pourquoi le mode navigateur ?
Motivation
Nous avons développé la fonctionnalité de mode navigateur de Vitest pour aider à améliorer les flux de travail de test et obtenir des résultats de test plus précis et fiables. Cet ajout expérimental à notre API de test permet aux développeurs d’exécuter des tests dans un environnement de navigateur natif. Dans cette section, nous explorerons les motivations derrière cette fonctionnalité et ses avantages pour les tests.
Différentes méthodes de test
Il existe différentes manières de tester le code JavaScript. Certains frameworks de test simulent des environnements de navigateur dans Node.js, tandis que d’autres exécutent des tests dans de vrais navigateurs. Dans ce contexte, jsdom est un exemple d’implémentation qui simule un environnement de navigateur en étant utilisé avec un exécuteur de test comme Jest ou Vitest, tandis que d’autres outils de test comme WebdriverIO ou Cypress permettent aux développeurs de tester leurs applications dans un vrai navigateur ou, dans le cas de Playwright, de fournir un moteur de navigateur.
Le problème de la simulation
Tester des programmes JavaScript dans des environnements simulés tels que jsdom ou happy-dom a simplifié la configuration des tests et fourni une API facile à utiliser, les rendant adaptés à de nombreux projets et augmentant la confiance dans les résultats des tests. Cependant, il est crucial de garder à l’esprit que ces outils ne simulent qu’un environnement de navigateur et non un véritable navigateur, ce qui peut entraîner des différences entre l’environnement simulé et l’environnement réel. Par conséquent, des faux positifs ou négatifs dans les résultats des tests peuvent survenir.
Pour atteindre le plus haut niveau de confiance dans nos tests, il est crucial de tester dans un environnement de navigateur réel. C’est pourquoi nous avons développé la fonctionnalité de mode navigateur dans Vitest, permettant aux développeurs d’exécuter des tests nativement dans un navigateur et d’obtenir des résultats de test plus précis et fiables. Avec les tests au niveau du navigateur, les développeurs peuvent avoir plus confiance que leur application fonctionnera comme prévu dans un scénario du monde réel.
Inconvénients
Lors de l’utilisation du mode navigateur de Vitest, il est important de prendre en compte les inconvénients suivants :
Développement précoce
La fonctionnalité de mode navigateur de Vitest est encore à ses débuts. En tant que telle, elle peut ne pas encore être entièrement optimisée, et il peut y avoir des bugs ou des problèmes qui n’ont pas encore été résolus. Il est recommandé aux utilisateurs d’augmenter leur expérience de test dans le navigateur Vitest avec un exécuteur de test autonome côté navigateur comme WebdriverIO, Cypress ou Playwright.
Initialisation plus longue
Le mode navigateur de Vitest nécessite de démarrer le fournisseur et le navigateur pendant le processus d’initialisation, ce qui peut prendre un certain temps. Cela peut entraîner des temps d’initialisation plus longs par rapport à d’autres modèles de test.