Pourquoi Vitest
Le besoin d’un exécuteur de tests natif pour Vite
Le support prêt à l’emploi de Vite pour les motifs web courants, les fonctionnalités telles que les imports globaux et les primitives SSR, ainsi que ses nombreux plugins et intégrations favorisent un écosystème dynamique. Son histoire de déploiement et de construction est essentielle à son succès. Pour la documentation, il existe plusieurs alternatives basées sur SSG alimentées par Vite. Cependant, l’histoire des tests unitaires de Vite n’a pas été claire. Les options existantes comme Jest ont été créées dans un contexte différent. Il existe beaucoup de duplication entre Jest et Vite, ce qui oblige les utilisateurs à configurer deux pipelines différents.
Utiliser le serveur de développement de Vite pour transformer vos fichiers pendant les tests permet de créer un exécuteur simple qui n’a pas besoin de gérer la complexité de la transformation des fichiers sources et peut se concentrer uniquement sur la fourniture de la meilleure expérience durant les tests. Un exécuteur de tests qui utilise la même configuration que votre application (via vite.config.js
), partageant un pipeline de transformation commun durant le développement, la construction et les tests. Celui-ci est extensible avec la même API de plugin qui vous permet, ainsi qu’aux mainteneurs de vos outils, d’offrir une intégration de premier ordre avec Vite. Un outil qui est construit avec Vite à l’esprit dès le départ, tirant parti de ses améliorations en matière d’expérience de développement (DX), comme son rechargement instantané des modules (HMR). C’est Vitest, un framework de test de nouvelle génération alimenté par Vite.
Étant donné l’adoption massive de Jest, Vitest fournit une API compatible qui vous permet de l’utiliser comme un remplacement direct dans la plupart des projets. Il comprend également les fonctionnalités les plus courantes requises lors de la configuration de vos tests unitaires (moquage, instantanés, couverture). Vitest accorde beaucoup d’importance à la performance et utilise les threads de travail pour exécuter autant que possible en parallèle. Certains ports ont vu des tests s’exécuter des ordres de grandeur plus rapidement. Le mode de veille est activé par défaut, s’alignant sur la façon dont Vite privilégie une expérience de développement optimisée. Même avec toutes ces améliorations en matière d’expérience de développement, Vitest reste léger en choisissant soigneusement ses dépendances (ou en intégrant directement les pièces nécessaires).
Vitest vise à se positionner comme l’exécuteur de tests de choix pour les projets Vite, ainsi qu’une alternative solide même pour les projets n’utilisant pas Vite.
Continuez à lire dans le Guide de démarrage
En quoi Vitest est-il différent de X ?
Vous pouvez consulter la section Comparaisons pour plus de détails sur les différences entre Vitest et d’autres outils similaires.