Node API
startVitest
Vous pouvez commencer à exécuter des tests Vitest en utilisant son API Node :
La fonction startVitest
renvoie une instance de Vitest
si les tests peuvent être démarrés. Elle renvoie undefined
, si l’une des conditions suivantes se produit :
- Vitest n’a pas trouvé le paquet
vite
(généralement installé avec Vitest). - Si la couverture est activée et le mode d’exécution est “test”, mais que le paquet de couverture n’est pas installé (
@vitest/coverage-v8
ou@vitest/coverage-istanbul
). - Si le paquet d’environnement n’est pas installé (
jsdom
/happy-dom
/@edge-runtime/vm
).
Si undefined
est renvoyé ou si les tests échouent pendant l’exécution, Vitest définit process.exitCode
sur 1
.
Si le mode veille n’est pas activé, Vitest appellera la méthode close
.
Si le mode veille est activé et que le terminal supporte TTY, Vitest enregistrera des raccourcis console.
Vous pouvez transmettre une liste de filtres comme second argument. Vitest exécutera uniquement les tests contenant au moins un des chaînes passées dans leur chemin de fichier.
De plus, vous pouvez utiliser le troisième argument pour passer des arguments CLI, qui remplaceront toutes les options de configuration des tests.
Alternativement, vous pouvez passer la configuration complète de Vite comme quatrième argument, ce qui prévaudra sur toutes les autres options définies par l’utilisateur.
createVitest
Vous pouvez créer vous-même une instance de Vitest en utilisant la fonction createVitest
. Elle renvoie la même instance de Vitest
que startVitest
, mais ne démarre pas les tests et ne valide pas les paquets installés.
parseCLI
Vous pouvez utiliser cette méthode pour analyser les arguments CLI. Elle accepte une chaîne (où les arguments sont séparés par un seul espace) ou un tableau de chaînes d’arguments CLI dans le même format que le CLI de Vitest utilise. Elle renvoie un filtre et des options
que vous pouvez ensuite transmettre aux méthodes createVitest
ou startVitest
.
Vitest
L’instance de Vitest nécessite le mode de test actuel. Il peut être soit :
test
lors de l’exécution des tests d’exécution.benchmark
lors de l’exécution des benchmarks.
mode
test
Le mode test n’appellera que des fonctions à l’intérieur de test
ou it
, et lancera une erreur lorsque bench
est rencontré. Ce mode utilise les options include
et exclude
dans la configuration pour trouver les fichiers de test.
benchmark
Le mode benchmark appelle les fonctions bench
et lance une erreur lorsqu’il rencontre test
ou it
. Ce mode utilise les options benchmark.include
et benchmark.exclude
dans la configuration pour trouver les fichiers de benchmark.
start
Vous pouvez commencer à exécuter des tests ou des benchmarks avec la méthode start
. Vous pouvez passer un tableau de chaînes pour filtrer les fichiers de test.
provide
Vitest expose la méthode provide
qui est un raccourci pour vitest.getCoreWorkspaceProject().provide
. Avec cette méthode, vous pouvez passer des valeurs du fil principal aux tests. Toutes les valeurs sont vérifiées avec structuredClone
avant d’être stockées, mais les valeurs elles-mêmes ne sont pas clonées.
Pour recevoir les valeurs dans le test, vous devez importer la méthode inject
du point d’entrée vitest
:
Pour une meilleure sécurité de type, nous vous encourageons à augmenter le type de ProvidedContext
: