Skip to content
Vitest 3
Main Navigation Guide & APIConfigurationMode NavigateurAPI avancée
3.2.0
2.1.9
1.6.1
0.34.6

Français

English
简体中文
繁體中文
Español
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Français

English
简体中文
繁體中文
Español
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Apparence

Sidebar Navigation

Introduction

Pourquoi Vitest

Démarrage

Fonctionnalités

Configuration de Vitest

API

Référence de l'API des Tests

Fonctions Mocks

vi

expect

expectTypeOf

assert

assertType

Guide

Interface en ligne de commande (CLI)

Filtrage des tests

Projets de Test

Rapporteurs

Couverture de code

Instantanés

Simulation

Parallélisme

Tests de type

Interface utilisateur de Vitest

Tests in-source

Contexte de test

Annotations de test

Environnement de Test

Étendre les Matchers

Intégrations IDE

Débogage

Erreurs courantes

Guide de migration

Migration vers Vitest 3.0

Migration depuis Jest

Performance

Analyse des performances des tests

Amélioration des performances

Mode Navigateur

API avancée

Comparaison avec d'autres exécuteurs de tests

Sur cette page

Interface en ligne de commande (CLI) ​

Commandes ​

vitest ​

Démarre Vitest dans le répertoire de travail actuel. Il passe automatiquement en mode surveillance (watch) en environnement de développement et en mode exécution unique (run) en intégration continue (CI) ou dans un terminal non interactif.

Vous pouvez fournir un argument supplémentaire pour filtrer les fichiers de test à exécuter. Par exemple :

bash
vitest foobar

Cette commande exécutera uniquement les fichiers de test dont le chemin contient foobar. Ce filtre effectue une simple vérification d'inclusion et ne prend pas en charge les expressions régulières ou les motifs globaux (à moins que votre terminal ne les interprète avant que Vitest ne reçoive le filtre).

Depuis Vitest 3, vous pouvez également spécifier un test par nom de fichier et numéro de ligne :

bash
$ vitest basic/foo.test.ts:10

WARNING

Veuillez noter que Vitest requiert le nom de fichier complet pour que cette fonctionnalité opère. Le chemin peut être relatif au répertoire de travail actuel ou un chemin de fichier absolu.

bash
$ vitest basic/foo.js:10 # ✅
$ vitest ./basic/foo.js:10 # ✅
$ vitest /users/project/basic/foo.js:10 # ✅
$ vitest foo:10 # ❌
$ vitest ./basic/foo:10 # ❌

Actuellement, Vitest ne prend pas en charge les plages de lignes :

bash
$ vitest basic/foo.test.ts:10, basic/foo.test.ts:25 # ✅
$ vitest basic/foo.test.ts:10-25 # ❌

vitest run ​

Effectue une exécution unique des tests, sans activer le mode surveillance.

vitest watch ​

Exécute toutes les suites de tests, puis surveille les changements de fichiers et réexécute les tests concernés. Cette commande est identique à un appel de vitest sans argument. Elle basculera sur vitest run en environnement CI ou lorsque l'entrée standard (stdin) n'est pas un TTY (environnement non interactif).

vitest dev ​

Alias de vitest watch.

vitest related ​

Exécute uniquement les tests qui couvrent une liste de fichiers source spécifiés. Cette commande fonctionne avec les importations statiques (par exemple, import('./index.js') ou import index from './index.js), mais pas avec les importations dynamiques (par exemple, import(filepath)). Tous les fichiers doivent être spécifiés par un chemin relatif au dossier racine du projet.

Cette commande est utile en conjonction avec des outils comme lint-staged ou dans votre configuration CI.

bash
vitest related /src/index.ts /src/hello-world.js

TIP

N'oubliez pas que Vitest s'exécute par défaut avec le mode surveillance activé. Si vous utilisez des outils comme lint-staged, vous devriez également passer l'option --run afin que la commande puisse se terminer normalement.

js
export default {
  '*.{js,ts}': 'vitest related --run',
};

vitest bench ​

Exécute uniquement les tests de benchmark, qui sont conçus pour comparer les performances.

vitest init ​

La commande vitest init <name> peut être utilisée pour configurer le projet. Pour le moment, elle ne prend en charge que la valeur browser :

bash
vitest init browser

vitest list ​

La commande vitest list hérite de toutes les options de vitest et est utilisée pour afficher la liste de tous les tests correspondants. Cette commande ignore l'option reporters. Par défaut, elle affichera les noms de tous les tests qui correspondent au filtre de fichier et au motif de nom spécifiés :

shell
vitest list filename.spec.ts -t="some-test"
txt
describe > some-test
describe > some-test > test 1
describe > some-test > test 2

Vous pouvez passer l'option --json pour afficher les tests au format JSON ou les enregistrer dans un fichier séparé :

bash
vitest list filename.spec.ts -t="some-test" --json=./file.json

Si l'option --json n'est pas suivie d'une valeur, elle affichera le JSON sur la sortie standard (stdout).

Vous pouvez également passer l'option --filesOnly pour n'afficher que les fichiers de test :

bash
vitest list --filesOnly
txt
tests/test1.test.ts
tests/test2.test.ts

Options ​

TIP

Vitest prend en charge le camel case et le kebab case pour les arguments de ligne de commande (CLI). Par exemple, --passWithNoTests et --pass-with-no-tests fonctionneront tous les deux (--no-color et --inspect-brk sont les exceptions).

Vitest prend également en charge différentes façons de spécifier la valeur : --reporter dot et --reporter=dot sont tous deux valides.

Si une option prend en charge un tableau de valeurs, vous devez la passer plusieurs fois :

vitest --reporter=dot --reporter=default

Les options booléennes peuvent être niées à l'aide du préfixe no-. Spécifier la valeur à false fonctionne également :

vitest --no-api
vitest --api=false

root ​

  • CLI: -r, --root <path>
  • Config: root

Chemin racine du projet.

config ​

  • CLI: -c, --config <path>

Chemin vers le fichier de configuration.

update ​

  • CLI: -u, --update
  • Config: update

Met à jour les instantanés (snapshots).

watch ​

  • CLI: -w, --watch
  • Config: watch

Active le mode surveillance (watch mode).

testNamePattern ​

  • CLI: -t, --testNamePattern <pattern>
  • Config: testNamePattern

Exécute les tests dont les noms complets correspondent au motif d'expression régulière spécifié.

dir ​

  • CLI: --dir <path>
  • Config: dir

Répertoire de base à scanner pour les fichiers de test.

ui ​

  • CLI: --ui
  • Config: ui

Active l'interface utilisateur (UI).

open ​

  • CLI: --open
  • Config: open

Ouvre automatiquement l'interface utilisateur (par défaut : !process.env.CI).

api.port ​

  • CLI: --api.port [port]

Spécifie le port du serveur. Si le port est déjà utilisé, Vitest essaiera automatiquement le prochain port disponible, ce qui signifie que ce n'est peut-être pas le port réel sur lequel le serveur écoutera. Si true, le port sera défini à 51204.

api.host ​

  • CLI: --api.host [host]

Spécifie les adresses IP sur lesquelles le serveur doit écouter. Définissez cette option sur 0.0.0.0 ou true pour écouter sur toutes les adresses, y compris les adresses LAN et publiques.

api.strictPort ​

  • CLI: --api.strictPort

Si true, Vitest quittera si le port est déjà utilisé, au lieu d'essayer automatiquement le prochain port disponible.

silent ​

  • CLI: --silent [value]
  • Config: silent

Supprime la sortie console des tests. Utilisez 'passed-only' pour afficher uniquement les logs des tests échoués.

hideSkippedTests ​

  • CLI: --hideSkippedTests

Masque les logs des tests ignorés.

reporters ​

  • CLI: --reporter <name>
  • Config: reporters

Spécifie les rapporteurs à utiliser (default, basic, blob, verbose, dot, json, tap, tap-flat, junit, hanging-process, github-actions).

outputFile ​

  • CLI: --outputFile <filename/-s>
  • Config: outputFile

Écrit les résultats des tests dans un fichier lorsqu'un rapporteur pris en charge est également spécifié. Utilisez la notation par points pour les sorties individuelles de plusieurs rapporteurs (exemple : --outputFile.tap=./tap.txt).

coverage.all ​

  • CLI: --coverage.all
  • Config: coverage.all

Indique s'il faut inclure tous les fichiers, y compris ceux non testés, dans le rapport de couverture.

coverage.provider ​

  • CLI: --coverage.provider <name>
  • Config: coverage.provider

Sélectionne l'outil de collecte de couverture. Les valeurs disponibles sont : "v8", "istanbul" et "custom".

coverage.enabled ​

  • CLI: --coverage.enabled
  • Config: coverage.enabled

Active la collecte de couverture. Peut être remplacé par l'option CLI --coverage (par défaut : false).

coverage.include ​

  • CLI: --coverage.include <pattern>
  • Config: coverage.include

Motifs glob des fichiers à inclure dans la couverture. Peut être spécifié plusieurs fois avec plusieurs motifs (par défaut : **).

coverage.exclude ​

  • CLI: --coverage.exclude <pattern>
  • Config: coverage.exclude

Motifs glob des fichiers à exclure de la couverture. Peut être spécifié plusieurs fois lors de l'utilisation de plusieurs motifs (par défaut : Voir coverage.exclude).

coverage.extension ​

  • CLI: --coverage.extension <extension>
  • Config: coverage.extension

Extensions de fichiers à inclure dans la couverture. Peut être spécifié plusieurs fois pour plusieurs extensions (par défaut : [".js", ".cjs", ".mjs", ".ts", ".mts", ".tsx", ".jsx", ".vue", ".svelte"]).

coverage.clean ​

  • CLI: --coverage.clean
  • Config: coverage.clean

Nettoie les résultats de couverture avant d'exécuter les tests (par défaut : true).

coverage.cleanOnRerun ​

  • CLI: --coverage.cleanOnRerun
  • Config: coverage.cleanOnRerun

Nettoie le rapport de couverture lors d'une réexécution en mode surveillance (par défaut : true).

coverage.reportsDirectory ​

  • CLI: --coverage.reportsDirectory <path>
  • Config: coverage.reportsDirectory

Répertoire où écrire le rapport de couverture (par défaut : ./coverage).

coverage.reporter ​

  • CLI: --coverage.reporter <name>
  • Config: coverage.reporter

Rapporteurs de couverture à utiliser. Visitez coverage.reporter pour plus d'informations (par défaut : ["text", "html", "clover", "json"]).

coverage.reportOnFailure ​

  • CLI: --coverage.reportOnFailure
  • Config: coverage.reportOnFailure

Génère un rapport de couverture même si les tests échouent (par défaut : false).

coverage.allowExternal ​

  • CLI: --coverage.allowExternal
  • Config: coverage.allowExternal

Collecte la couverture des fichiers en dehors de la racine du projet (par défaut : false).

coverage.skipFull ​

  • CLI: --coverage.skipFull
  • Config: coverage.skipFull

N'affiche pas les fichiers ayant une couverture de 100 % des instructions, des branches et des fonctions (par défaut : false).

coverage.thresholds.100 ​

  • CLI: --coverage.thresholds.100
  • Config: coverage.thresholds.100

Raccourci pour définir tous les seuils de couverture à 100 % (par défaut : false).

coverage.thresholds.perFile ​

  • CLI: --coverage.thresholds.perFile
  • Config: coverage.thresholds.perFile

Vérifie les seuils par fichier. Voir --coverage.thresholds.lines, --coverage.thresholds.functions, --coverage.thresholds.branches et --coverage.thresholds.statements pour les seuils réels (par défaut : false).

coverage.thresholds.autoUpdate ​

  • CLI: --coverage.thresholds.autoUpdate
  • Config: coverage.thresholds.autoUpdate

Met à jour les valeurs de seuil ("lines", "functions", "branches" et "statements") dans le fichier de configuration lorsque la couverture actuelle est supérieure aux seuils configurés (par défaut : false).

coverage.thresholds.lines ​

  • CLI: --coverage.thresholds.lines <number>

Seuil pour les lignes couvertes. Visitez istanbuljs pour plus d'informations. Cette option n'est pas disponible pour les fournisseurs personnalisés.

coverage.thresholds.functions ​

  • CLI: --coverage.thresholds.functions <number>

Seuil pour les fonctions couvertes. Visitez istanbuljs pour plus d'informations. Cette option n'est pas disponible pour les fournisseurs personnalisés.

coverage.thresholds.branches ​

  • CLI: --coverage.thresholds.branches <number>

Seuil pour les branches couvertes. Visitez istanbuljs pour plus d'informations. Cette option n'est pas disponible pour les fournisseurs personnalisés.

coverage.thresholds.statements ​

  • CLI: --coverage.thresholds.statements <number>

Seuil pour les instructions couvertes. Visitez istanbuljs pour plus d'informations. Cette option n'est pas disponible pour les fournisseurs personnalisés.

coverage.ignoreClassMethods ​

  • CLI: --coverage.ignoreClassMethods <name>
  • Config: coverage.ignoreClassMethods

Tableau des noms de méthodes de classe à ignorer pour la couverture. Visitez istanbuljs pour plus d'informations. Cette option n'est disponible que pour les fournisseurs Istanbul (par défaut : []).

coverage.processingConcurrency ​

  • CLI: --coverage.processingConcurrency <number>
  • Config: coverage.processingConcurrency

Limite de concurrence utilisée lors du traitement des résultats de couverture (par défaut : le minimum entre 20 et le nombre de CPU).

coverage.customProviderModule ​

  • CLI: --coverage.customProviderModule <path>
  • Config: coverage.customProviderModule

Spécifie le nom ou le chemin du module pour le fournisseur de couverture personnalisé. Visitez Custom Coverage Provider pour plus d'informations. Cette option n'est disponible que pour les fournisseurs personnalisés.

coverage.watermarks.statements ​

  • CLI: --coverage.watermarks.statements <watermarks>

Seuils haut et bas pour les instructions au format <haut>,<bas>.

coverage.watermarks.lines ​

  • CLI: --coverage.watermarks.lines <watermarks>

Seuils haut et bas pour les lignes au format <haut>,<bas>.

coverage.watermarks.branches ​

  • CLI: --coverage.watermarks.branches <watermarks>

Seuils haut et bas pour les branches au format <haut>,<bas>.

coverage.watermarks.functions ​

  • CLI: --coverage.watermarks.functions <watermarks>

Seuils haut et bas pour les fonctions au format <haut>,<bas>.

mode ​

  • CLI: --mode <name>
  • Config: mode

Outrepasse le mode Vite (par défaut : test ou benchmark).

workspace ​

  • CLI: --workspace <path>
  • Config: workspace

[Déprécié] Chemin vers un fichier de configuration d'espace de travail.

isolate ​

  • CLI: --isolate
  • Config: isolate

Exécute chaque fichier de test en isolation. Pour désactiver l'isolation, utilisez --no-isolate (par défaut : true).

globals ​

  • CLI: --globals
  • Config: globals

Injecte les API globalement.

dom ​

  • CLI: --dom

Émule l'API du navigateur avec happy-dom.

browser.enabled ​

  • CLI: --browser.enabled
  • Config: browser.enabled

Exécute les tests dans le navigateur. Équivalent à --browser.enabled (par défaut : false).

browser.name ​

  • CLI: --browser.name <name>
  • Config: browser.name

Exécute tous les tests dans un navigateur spécifique. Certains navigateurs ne sont disponibles que pour des fournisseurs spécifiques (voir --browser.provider). Visitez browser.name pour plus d'informations.

browser.headless ​

  • CLI: --browser.headless
  • Config: browser.headless

Exécute le navigateur en mode sans affichage (c'est-à-dire sans ouvrir l'interface utilisateur graphique). Si Vitest est exécuté en CI, ce mode sera activé par défaut (par défaut : process.env.CI).

browser.api.port ​

  • CLI: --browser.api.port [port]
  • Config: browser.api.port

Spécifie le port du serveur. Si le port est déjà utilisé, Vitest essaiera automatiquement le prochain port disponible, ce qui signifie que ce n'est peut-être pas le port réel sur lequel le serveur écoutera. Si true, le port sera défini à 63315.

browser.api.host ​

  • CLI: --browser.api.host [host]
  • Config: browser.api.host

Spécifie les adresses IP sur lesquelles le serveur doit écouter. Définissez cette option sur 0.0.0.0 ou true pour écouter sur toutes les adresses, y compris les adresses LAN et publiques.

browser.api.strictPort ​

  • CLI: --browser.api.strictPort
  • Config: browser.api.strictPort

Si true, Vitest quittera si le port est déjà utilisé, au lieu d'essayer automatiquement le prochain port disponible.

browser.provider ​

  • CLI: --browser.provider <name>
  • Config: browser.provider

Fournisseur utilisé pour exécuter les tests de navigateur. Certains navigateurs ne sont disponibles que pour des fournisseurs spécifiques. Peut être "webdriverio", "playwright", "preview", ou le chemin vers un fournisseur personnalisé. Visitez browser.provider pour plus d'informations (par défaut : "preview").

browser.providerOptions ​

  • CLI: --browser.providerOptions <options>
  • Config: browser.providerOptions

Options passées à un fournisseur de navigateur. Visitez browser.providerOptions pour plus d'informations.

browser.isolate ​

  • CLI: --browser.isolate
  • Config: browser.isolate

Exécute chaque fichier de test de navigateur en isolation. Pour désactiver l'isolation, utilisez --browser.isolate=false (par défaut : true).

browser.ui ​

  • CLI: --browser.ui
  • Config: browser.ui

Affiche l'interface utilisateur de Vitest lors de l'exécution des tests (par défaut : !process.env.CI).

browser.fileParallelism ​

  • CLI: --browser.fileParallelism
  • Config: browser.fileParallelism

Indique si les fichiers de test de navigateur doivent s'exécuter en parallèle. Utilisez --browser.fileParallelism=false pour désactiver (par défaut : true).

browser.connectTimeout ​

  • CLI: --browser.connectTimeout <timeout>
  • Config: browser.connectTimeout

Si la connexion au navigateur prend plus de temps que ce délai, la suite de tests échouera (par défaut : 60_000).

pool ​

  • CLI: --pool <pool>
  • Config: pool

Spécifie le pool d'exécution, si les tests ne sont pas exécutés dans le navigateur (par défaut : forks).

poolOptions.threads.isolate ​

  • CLI: --poolOptions.threads.isolate
  • Config: poolOptions.threads.isolate

Isole les tests dans le pool de threads (par défaut : true).

poolOptions.threads.singleThread ​

  • CLI: --poolOptions.threads.singleThread
  • Config: poolOptions.threads.singleThread

Exécute les tests dans un seul thread (par défaut : false).

poolOptions.threads.maxThreads ​

  • CLI: --poolOptions.threads.maxThreads <workers>
  • Config: poolOptions.threads.maxThreads

Nombre maximal ou pourcentage de threads pour exécuter les tests.

poolOptions.threads.minThreads ​

  • CLI: --poolOptions.threads.minThreads <workers>
  • Config: poolOptions.threads.minThreads

Nombre minimal ou pourcentage de threads pour exécuter les tests.

poolOptions.threads.useAtomics ​

  • CLI: --poolOptions.threads.useAtomics
  • Config: poolOptions.threads.useAtomics

Utilise les Atomics pour synchroniser les threads. Cela peut améliorer les performances dans certains cas, mais peut provoquer des erreurs de segmentation dans les anciennes versions de Node (par défaut : false).

poolOptions.vmThreads.isolate ​

  • CLI: --poolOptions.vmThreads.isolate
  • Config: poolOptions.vmThreads.isolate

Isole les tests dans le pool de threads VM (par défaut : true).

poolOptions.vmThreads.singleThread ​

  • CLI: --poolOptions.vmThreads.singleThread
  • Config: poolOptions.vmThreads.singleThread

Exécute les tests dans un seul thread VM (par défaut : false).

poolOptions.vmThreads.maxThreads ​

  • CLI: --poolOptions.vmThreads.maxThreads <workers>
  • Config: poolOptions.vmThreads.maxThreads

Nombre maximal ou pourcentage de threads VM pour exécuter les tests.

poolOptions.vmThreads.minThreads ​

  • CLI: --poolOptions.vmThreads.minThreads <workers>
  • Config: poolOptions.vmThreads.minThreads

Nombre minimal ou pourcentage de threads VM pour exécuter les tests.

poolOptions.vmThreads.useAtomics ​

  • CLI: --poolOptions.vmThreads.useAtomics
  • Config: poolOptions.vmThreads.useAtomics

Utilise les Atomics pour synchroniser les threads VM. Cela peut améliorer les performances dans certains cas, mais peut provoquer des erreurs de segmentation dans les anciennes versions de Node (par défaut : false).

poolOptions.vmThreads.memoryLimit ​

  • CLI: --poolOptions.vmThreads.memoryLimit <limit>
  • Config: poolOptions.vmThreads.memoryLimit

Limite de mémoire pour le pool de threads VM. Si des fuites de mémoire sont constatées, essayez de modifier cette valeur.

poolOptions.forks.isolate ​

  • CLI: --poolOptions.forks.isolate
  • Config: poolOptions.forks.isolate

Isole les tests dans le pool de forks (par défaut : true).

poolOptions.forks.singleFork ​

  • CLI: --poolOptions.forks.singleFork
  • Config: poolOptions.forks.singleFork

Exécute les tests dans un seul processus enfant (par défaut : false).

poolOptions.forks.maxForks ​

  • CLI: --poolOptions.forks.maxForks <workers>
  • Config: poolOptions.forks.maxForks

Nombre maximal ou pourcentage de processus pour exécuter les tests.

poolOptions.forks.minForks ​

  • CLI: --poolOptions.forks.minForks <workers>
  • Config: poolOptions.forks.minForks

Nombre minimal ou pourcentage de processus pour exécuter les tests.

poolOptions.vmForks.isolate ​

  • CLI: --poolOptions.vmForks.isolate
  • Config: poolOptions.vmForks.isolate

Isole les tests dans le pool de forks VM (par défaut : true).

poolOptions.vmForks.singleFork ​

  • CLI: --poolOptions.vmForks.singleFork
  • Config: poolOptions.vmForks.singleFork

Exécute les tests dans un seul processus enfant VM (par défaut : false).

poolOptions.vmForks.maxForks ​

  • CLI: --poolOptions.vmForks.maxForks <workers>
  • Config: poolOptions.vmForks.maxForks

Nombre maximal ou pourcentage de processus VM pour exécuter les tests.

poolOptions.vmForks.minForks ​

  • CLI: --poolOptions.vmForks.minForks <workers>
  • Config: poolOptions.vmForks.minForks

Nombre minimal ou pourcentage de processus VM pour exécuter les tests.

poolOptions.vmForks.memoryLimit ​

  • CLI: --poolOptions.vmForks.memoryLimit <limit>
  • Config: poolOptions.vmForks.memoryLimit

Limite de mémoire pour le pool de forks VM. Si des fuites de mémoire sont constatées, essayez de modifier cette valeur.

fileParallelism ​

  • CLI: --fileParallelism
  • Config: fileParallelism

Indique si tous les fichiers de test doivent s'exécuter en parallèle. Utilisez --no-file-parallelism pour désactiver (par défaut : true).

maxWorkers ​

  • CLI: --maxWorkers <workers>
  • Config: maxWorkers

Nombre maximal ou pourcentage de workers pour exécuter les tests.

minWorkers ​

  • CLI: --minWorkers <workers>
  • Config: minWorkers

Nombre minimal ou pourcentage de workers pour exécuter les tests.

environment ​

  • CLI: --environment <name>
  • Config: environment

Spécifie l'environnement d'exécution, si les tests ne sont pas exécutés dans le navigateur (par défaut : node).

passWithNoTests ​

  • CLI: --passWithNoTests
  • Config: passWithNoTests

Indique que l'exécution doit réussir si aucun test n'est trouvé.

logHeapUsage ​

  • CLI: --logHeapUsage
  • Config: logHeapUsage

Affiche la taille du tas pour chaque test lors de l'exécution dans Node.

allowOnly ​

  • CLI: --allowOnly
  • Config: allowOnly

Autorise les tests et les suites marqués comme "only" (par défaut : !process.env.CI).

dangerouslyIgnoreUnhandledErrors ​

  • CLI: --dangerouslyIgnoreUnhandledErrors
  • Config: dangerouslyIgnoreUnhandledErrors

Ignore toutes les erreurs non gérées qui se produisent.

sequence.shuffle.files ​

  • CLI: --sequence.shuffle.files
  • Config: sequence.shuffle.files

Exécute les fichiers dans un ordre aléatoire. Les tests de longue durée ne commenceront pas plus tôt si cette option est activée (par défaut : false).

sequence.shuffle.tests ​

  • CLI: --sequence.shuffle.tests
  • Config: sequence.shuffle.tests

Exécute les tests dans un ordre aléatoire (par défaut : false).

sequence.concurrent ​

  • CLI: --sequence.concurrent
  • Config: sequence.concurrent

Permet aux tests de s'exécuter en parallèle (par défaut : false).

sequence.seed ​

  • CLI: --sequence.seed <seed>
  • Config: sequence.seed

Définit la graine de randomisation. Cette option n'aura aucun effet si --sequence.shuffle est faux. Visitez la page "Random Seed" pour plus d'informations.

sequence.hooks ​

  • CLI: --sequence.hooks <order>
  • Config: sequence.hooks

Modifie l'ordre dans lequel les hooks sont exécutés. Les valeurs acceptées sont : "stack", "list" et "parallel". Visitez sequence.hooks pour plus d'informations (par défaut : "parallel").

sequence.setupFiles ​

  • CLI: --sequence.setupFiles <order>
  • Config: sequence.setupFiles

Modifie l'ordre dans lequel les fichiers de configuration sont exécutés. Les valeurs acceptées sont : "list" et "parallel". Si défini à "list", exécutera les fichiers de configuration dans l'ordre où ils sont définis. Si défini à "parallel", exécutera les fichiers de configuration en parallèle (par défaut : "parallel").

inspect ​

  • CLI: --inspect [[host:]port]
  • Config: inspect

Active l'inspecteur Node.js (par défaut : 127.0.0.1:9229).

inspectBrk ​

  • CLI: --inspectBrk [[host:]port]
  • Config: inspectBrk

Active l'inspecteur Node.js et s'arrête avant le début du test.

testTimeout ​

  • CLI: --testTimeout <timeout>
  • Config: testTimeout

Délai d'attente par défaut d'un test en millisecondes (par défaut : 5000). Utilisez 0 pour désactiver complètement le délai d'attente.

hookTimeout ​

  • CLI: --hookTimeout <timeout>
  • Config: hookTimeout

Délai d'attente par défaut d'un hook en millisecondes (par défaut : 10000). Utilisez 0 pour désactiver complètement le délai d'attente.

bail ​

  • CLI: --bail <number>
  • Config: bail

Arrête l'exécution des tests lorsque le nombre donné de tests a échoué (par défaut : 0).

retry ​

  • CLI: --retry <times>
  • Config: retry

Réessaie le test un nombre de fois spécifié s'il échoue (par défaut : 0).

diff.aAnnotation ​

  • CLI: --diff.aAnnotation <annotation>
  • Config: diff.aAnnotation

Annotation pour les lignes attendues (par défaut : Expected).

diff.aIndicator ​

  • CLI: --diff.aIndicator <indicator>
  • Config: diff.aIndicator

Indicateur pour les lignes attendues (par défaut : -).

diff.bAnnotation ​

  • CLI: --diff.bAnnotation <annotation>
  • Config: diff.bAnnotation

Annotation pour les lignes reçues (par défaut : Received).

diff.bIndicator ​

  • CLI: --diff.bIndicator <indicator>
  • Config: diff.bIndicator

Indicateur pour les lignes reçues (par défaut : +).

diff.commonIndicator ​

  • CLI: --diff.commonIndicator <indicator>
  • Config: diff.commonIndicator

Indicateur pour les lignes communes (par défaut : ).

diff.contextLines ​

  • CLI: --diff.contextLines <lines>
  • Config: diff.contextLines

Nombre de lignes de contexte à afficher autour de chaque modification (par défaut : 5).

diff.emptyFirstOrLastLinePlaceholder ​

  • CLI: --diff.emptyFirstOrLastLinePlaceholder <placeholder>
  • Config: diff.emptyFirstOrLastLinePlaceholder

Espace réservé pour une première ou dernière ligne vide (par défaut : "").

diff.expand ​

  • CLI: --diff.expand
  • Config: diff.expand

Développe toutes les lignes communes (par défaut : true).

diff.includeChangeCounts ​

  • CLI: --diff.includeChangeCounts
  • Config: diff.includeChangeCounts

Inclut les comptes de comparaison dans la sortie de la différence (par défaut : false).

diff.omitAnnotationLines ​

  • CLI: --diff.omitAnnotationLines
  • Config: diff.omitAnnotationLines

Omet les lignes d'annotation de la sortie (par défaut : false).

diff.printBasicPrototype ​

  • CLI: --diff.printBasicPrototype
  • Config: diff.printBasicPrototype

Affiche le prototype de base des objets et tableaux (par défaut : true).

diff.maxDepth ​

  • CLI: --diff.maxDepth <maxDepth>
  • Config: diff.maxDepth

Limite la profondeur de récursion lors de l'affichage d'objets imbriqués (par défaut : 20).

diff.truncateThreshold ​

  • CLI: --diff.truncateThreshold <threshold>
  • Config: diff.truncateThreshold

Nombre de lignes à afficher avant et après chaque modification (par défaut : 0).

diff.truncateAnnotation ​

  • CLI: --diff.truncateAnnotation <annotation>
  • Config: diff.truncateAnnotation

Annotation pour les lignes tronquées (par défaut : ... Diff result is truncated).

exclude ​

  • CLI: --exclude <glob>
  • Config: exclude

Motifs glob de fichiers supplémentaires à exclure des tests.

expandSnapshotDiff ​

  • CLI: --expandSnapshotDiff
  • Config: expandSnapshotDiff

Affiche la différence complète lorsque l'instantané échoue.

disableConsoleIntercept ​

  • CLI: --disableConsoleIntercept
  • Config: disableConsoleIntercept

Désactive l'interception automatique de la journalisation console (par défaut : false).

typecheck.enabled ​

  • CLI: --typecheck.enabled
  • Config: typecheck.enabled

Active la vérification de type en même temps que les tests (par défaut : false).

typecheck.only ​

  • CLI: --typecheck.only
  • Config: typecheck.only

Exécute uniquement les tests de vérification de type. Cela active automatiquement la vérification de type (par défaut : false).

typecheck.checker ​

  • CLI: --typecheck.checker <name>
  • Config: typecheck.checker

Spécifie le vérificateur de type à utiliser. Les valeurs disponibles sont : "tsc", "vue-tsc" et un chemin vers un exécutable (par défaut : "tsc").

typecheck.allowJs ​

  • CLI: --typecheck.allowJs
  • Config: typecheck.allowJs

Autorise la vérification de type des fichiers JavaScript. Par défaut, prend la valeur de tsconfig.json.

typecheck.ignoreSourceErrors ​

  • CLI: --typecheck.ignoreSourceErrors
  • Config: typecheck.ignoreSourceErrors

Ignore les erreurs de type provenant des fichiers source.

typecheck.tsconfig ​

  • CLI: --typecheck.tsconfig <path>
  • Config: typecheck.tsconfig

Chemin vers un fichier tsconfig personnalisé.

typecheck.spawnTimeout ​

  • CLI: --typecheck.spawnTimeout <time>
  • Config: typecheck.spawnTimeout

Temps minimum en millisecondes nécessaire pour lancer le vérificateur de type.

project ​

  • CLI: --project <name>
  • Config: project

Le nom du projet à exécuter si vous utilisez la fonctionnalité d'espace de travail de Vitest. Cette option peut être répétée pour plusieurs projets : --project=1 --project=2. Vous pouvez également filtrer les projets en utilisant des jokers comme --project=packages*, et exclure des projets avec --project=!pattern.

slowTestThreshold ​

  • CLI: --slowTestThreshold <threshold>
  • Config: slowTestThreshold

Seuil en millisecondes pour qu'un test ou une suite soit considéré comme lent (par défaut : 300).

teardownTimeout ​

  • CLI: --teardownTimeout <timeout>
  • Config: teardownTimeout

Délai d'attente par défaut d'une fonction de démontage en millisecondes (par défaut : 10000).

maxConcurrency ​

  • CLI: --maxConcurrency <number>
  • Config: maxConcurrency

Nombre maximal de tests concurrents dans une suite (par défaut : 5).

expect.requireAssertions ​

  • CLI: --expect.requireAssertions
  • Config: expect.requireAssertions

Exige que tous les tests aient au moins une assertion.

expect.poll.interval ​

  • CLI: --expect.poll.interval <interval>
  • Config: expect.poll.interval

Intervalle de sondage en millisecondes pour les assertions expect.poll() (par défaut : 50).

expect.poll.timeout ​

  • CLI: --expect.poll.timeout <timeout>
  • Config: expect.poll.timeout

Délai d'attente de sondage en millisecondes pour les assertions expect.poll() (par défaut : 1000).

printConsoleTrace ​

  • CLI: --printConsoleTrace
  • Config: printConsoleTrace

Affiche toujours les traces de pile de la console.

includeTaskLocation ​

  • CLI: --includeTaskLocation
  • Config: includeTaskLocation

Collecte les emplacements des tests et des suites dans la propriété location.

attachmentsDir ​

  • CLI: --attachmentsDir <dir>
  • Config: attachmentsDir

Le répertoire où les pièces jointes de context.annotate sont stockées (par défaut : .vitest-attachments).

run ​

  • CLI: --run

Désactive le mode surveillance.

color ​

  • CLI: --no-color

Supprime les couleurs de la sortie console.

clearScreen ​

  • CLI: --clearScreen

Efface l'écran du terminal lors de la réexécution des tests en mode surveillance (par défaut : true).

configLoader ​

  • CLI: --configLoader <loader>

Utilise bundle pour regrouper la configuration avec esbuild ou runner (expérimental) pour la traiter à la volée. Ceci n'est disponible qu'à partir de la version 6.1.0 de Vite (par défaut : bundle).

standalone ​

  • CLI: --standalone

Démarre Vitest sans exécuter les tests. Les filtres de fichiers seront ignorés, les tests ne seront exécutés qu'en cas de modification (par défaut : false).

changed ​

  • Type: boolean | string
  • Par défaut: false

Exécute les tests uniquement sur les fichiers modifiés. Si aucune valeur n'est fournie, il exécutera les tests sur les modifications non validées (y compris celles qui sont stagées et non stagées).

Pour exécuter les tests sur les modifications effectuées lors du dernier commit, vous pouvez utiliser --changed HEAD~1. Vous pouvez également passer l'identifiant du commit (par exemple --changed 09a9920) ou le nom de la branche (par exemple --changed origin/develop).

Lorsqu'il est utilisé avec la couverture de code, le rapport ne contiendra que les fichiers qui sont liés aux modifications.

S'il est associé à l'option de configuration forceRerunTriggers, il exécutera l'intégralité de la suite de tests si au moins un des fichiers listés dans forceRerunTriggers est modifié. Par défaut, les modifications apportées au fichier de configuration Vitest et à package.json entraîneront toujours la réexécution de l'intégralité de la suite.

shard ​

  • Type: string
  • Par défaut: disabled

Permet de partitionner la suite de tests à exécuter au format <index>/<count>, où :

  • count est un entier positif, représentant le nombre total de partitions.
  • index est un entier positif, représentant l'index de la partition à exécuter (commence à 1).

Cette commande divisera tous les tests en count parties égales et n'exécutera que ceux qui se trouvent dans la partie index. Par exemple, pour diviser votre suite de tests en trois parties, utilisez ceci :

sh
vitest run --shard=1/3
vitest run --shard=2/3
vitest run --shard=3/3

WARNING

Vous ne pouvez pas utiliser cette option lorsque --watch est activé (ce qui est le cas par défaut en mode développement).

TIP

Si --reporter=blob est utilisé sans fichier de sortie, le chemin par défaut inclura la configuration de fragment actuelle afin d'éviter les collisions avec d'autres processus Vitest.

merge-reports ​

  • Type: boolean | string

Fusionne tous les rapports blob situés dans le dossier spécifié (par défaut, .vitest-reports). Vous pouvez utiliser n'importe quel générateur de rapports avec cette commande (à l'exception de blob) :

sh
vitest --merge-reports --reporter=junit
Pager
Page précédenteassertType
Page suivanteFiltrage des tests

Publié sous la licence MIT.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/guide/cli

Publié sous la licence MIT.

Copyright (c) 2021-Present Vitest Team