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 :
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 :
$ 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.
$ 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 :
$ 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.
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.
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
:
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 :
vitest list filename.spec.ts -t="some-test"
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é :
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 :
vitest list --filesOnly
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 :
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
) :
vitest --merge-reports --reporter=junit