Test In-Situ
Vitest offre également une manière d’exécuter des tests au sein de votre code source parallèlement à l’implémentation, similaire aux tests de module de Rust.
Cela permet aux tests de partager la même fermeture que les implémentations et de tester des états privés sans exportation. Parallèlement, cela offre également un retour d’information plus rapide pour le développement.
Configuration
Pour commencer, placez un bloc if (import.meta.vitest)
à la fin de votre fichier source et écrivez quelques tests à l’intérieur. Par exemple :
Mettez à jour la configuration includeSource
pour Vitest afin de récupérer les fichiers sous src/
:
Vous pouvez ensuite commencer à tester !
Compilation de Production
Pour la compilation de production, vous devrez définir les options define
dans votre fichier de configuration, permettant au bundler d’effectuer l’élimination du code inutilisé. Par exemple, dans Vite :
Autres Bundlers
unbuild
En savoir plus : unbuild
Rollup
En savoir plus : Rollup
TypeScript
Pour obtenir le support TypeScript pour import.meta.vitest
, ajoutez vitest/importMeta
à votre tsconfig.json
:
Référence à examples/in-source-test
pour l’exemple complet.
Remarques
Cette fonctionnalité pourrait être utile pour :
- Tests unitaires pour des fonctions ou utilitaires à portée limitée
- Prototypage
- Assertion intégrée
Il est recommandé d’utiliser des fichiers de test séparés pour des tests plus complexes comme les composants ou les tests E2E.