API Node.js
WARNING
Vitest expose une API privée expérimentale. Les changements majeurs risquent de ne pas suivre le semver, veuillez donc épingler la version de Vitest que vous utilisez.
startVitest
Vous pouvez lancer les tests Vitest en utilisant son API Node.js :
import { startVitest } from 'vitest/node';
const vitest = await startVitest('test');
await vitest?.close();La fonction startVitest renvoie une instance Vitest si les tests peuvent être démarrés avec succès. Elle retourne undefined si l'une des conditions suivantes est remplie :
- Vitest n'a pas trouvé le package "vite" (généralement installé avec Vitest).
- La couverture est activée et le mode d'exécution est "test", mais le package de couverture n'est pas installé (
@vitest/coverage-v8ou@vitest/coverage-istanbul). - Le package d'environnement n'est pas installé (
jsdom/happy-dom/@edge-runtime/vm).
Si undefined est retourné ou si les tests échouent pendant l'exécution, Vitest définit process.exitCode à 1.
Si le mode de surveillance n'est pas activé, Vitest appellera la méthode close.
Si le mode de surveillance est activé et que le terminal prend en charge TTY, Vitest affichera des raccourcis clavier dans la console.
Vous pouvez passer une liste de filtres comme deuxième argument. Vitest exécutera uniquement les tests dont le chemin de fichier contient au moins une des chaînes transmises.
De plus, vous pouvez utiliser le troisième argument pour passer des arguments de ligne de commande (CLI), qui remplaceront toutes les options de configuration de test.
Alternativement, vous pouvez passer la configuration Vite complète comme quatrième argument, qui aura priorité sur toutes les autres options définies par l'utilisateur.
createVitest
Vous pouvez créer une instance Vitest vous-même en utilisant la fonction createVitest. Elle renvoie la même instance Vitest que startVitest, mais elle ne démarre pas les tests et ne valide pas la présence des packages requis.
import { createVitest } from 'vitest/node';
const vitest = await createVitest('test', {
watch: false,
});Vitest
L'instance Vitest requiert la définition du mode de test actuel. Les modes possibles sont les suivants :
test: pour l'exécution des tests unitaires.benchmark: pour l'exécution des benchmarks.typecheck: pour l'exécution des tests de type.
mode
test
Le mode test exécute uniquement les fonctions à l'intérieur de test ou it, et génère une erreur si bench est rencontré. Ce mode utilise les options include et exclude dans la configuration pour identifier les fichiers de test.
benchmark
Le mode benchmark exécute les fonctions bench et génère une erreur s'il rencontre test ou it. Ce mode utilise les options benchmark.include et benchmark.exclude dans la configuration pour identifier les fichiers de benchmark.
typecheck
Le mode typecheck ne lance pas les tests. Il se contente d'analyser les types et de fournir un résumé. Ce mode utilise les options typecheck.include et typecheck.exclude dans la configuration pour identifier les fichiers à analyser.
start
Vous pouvez lancer l'exécution des tests ou des benchmarks avec la méthode start. Vous pouvez passer un tableau de chaînes pour filtrer les fichiers à tester.