Interface de Ligne de Commande
Commandes
vitest
Démarre Vitest dans le répertoire courant. Il passe automatiquement en mode surveillance en environnement de développement et en mode exécution en intégration continue (CI).
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 inclut foobar
. Ce filtre ne vérifie que l'inclusion et ne prend pas en charge les expressions régulières ou les motifs globaux (sauf si votre terminal les traite avant que Vitest ne reçoive le filtre).
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 et réexécute les tests lorsqu'ils sont modifiés. Cette commande est équivalente à l'appel de vitest
sans argument. Elle basculera sur vitest run
en environnement CI.
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 devez également passer l'option --run
pour que la commande puisse se terminer normalement.
// .lintstagedrc.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. Actuellement, 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
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 modèle de nom :
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'indicateur --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'indicateur --json
n'est pas suivi d'une valeur, il affichera le JSON sur la sortie standard (stdout).
Vous pouvez également passer l'indicateur --filesOnly
pour afficher uniquement les fichiers de test :
vitest list --filesOnly
tests/test1.test.ts
tests/test2.test.ts
Options
TIP
Vitest prend en charge à la fois 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 des exceptions).
Vitest prend également en charge différentes façons de spécifier les valeurs : --reporter dot
et --reporter=dot
sont tous deux valides.
Si une option accepte un tableau de valeurs, vous devez passer l'option plusieurs fois :
vitest --reporter=dot --reporter=default
Les options booléennes peuvent être niées avec le préfixe no-
. Spécifier la valeur à false
fonctionne également :
vitest --no-api
vitest --api=false
root
- CLI:
-r, --root <path>
- Config: root
Répertoire racine du projet.
config
- CLI:
-c, --config <path>
Chemin vers le fichier de configuration de Vitest.
update
- CLI:
-u, --update
- Config: update
Met à jour les instantanés (snapshots).
watch
- CLI:
-w, --watch
- Config: watch
Active le mode de 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) de Vitest.
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 API. Si le port est déjà utilisé, Vite essaiera automatiquement le prochain port disponible. Si la valeur est true
, le port sera défini à 51204
.
api.host
- CLI:
--api.host [host]
Spécifie les adresses IP sur lesquelles le serveur API doit écouter. Définissez ceci à 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
, quitte si le port est déjà utilisé, au lieu d'essayer automatiquement le prochain port disponible.
silent
- CLI:
--silent
- Config: silent
Rend la sortie console des tests silencieuse.
hideSkippedTests
- CLI:
--hideSkippedTests
Masque les logs des tests ignorés.
reporters
- CLI:
--reporter <name>
- Config: reporters
Spécifie les reporters à utiliser.
outputFile
- CLI:
--outputFile <filename/-s>
- Config: outputFile
Écrit les résultats des tests dans un fichier lorsque le reporter pris en charge est également spécifié. Utilisez la notation par points pour les sorties individuelles de plusieurs reporters (exemple : --outputFile.tap=./tap.txt
).
coverage.all
- CLI:
--coverage.all
- Config: coverage.all
Indique si tous les fichiers, y compris ceux non testés, doivent être inclus 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
Fichiers à inclure dans la couverture sous forme de motifs globaux. Peut être spécifié plusieurs fois lors de l'utilisation de plusieurs motifs (par défaut : **
).
coverage.exclude
- CLI:
--coverage.exclude <pattern>
- Config: coverage.exclude
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ée plusieurs fois lors de l'utilisation de 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
Reporters 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
Ne pas afficher les fichiers avec 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 minimal de couverture pour les lignes. 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 minimal de couverture pour les fonctions. 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 minimal de couverture pour les branches. 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 minimal de couverture pour les instructions. 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 est uniquement disponible 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 est uniquement disponible 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
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 de Vitest 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 (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 tête (c'est-à-dire sans ouvrir l'interface utilisateur graphique). Si Vitest est exécuté en CI, ce mode est 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 API du navigateur. Si le port est déjà utilisé, Vite essaiera automatiquement le prochain port disponible, ce qui signifie que ce n'est peut-être pas le port réel sur lequel le serveur écoute. Si la valeur est 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 API du navigateur doit écouter. Définissez ceci à 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
, quitte 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
).
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 : threads
).
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 vous constatez des fuites de mémoire, 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 processus enfant unique (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 processus enfant unique 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 vous constatez des fuites de mémoire, 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 l'exécution des tests et des 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 longs ne démarreront pas plus tôt si vous activez cette option (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 aléatoire. Cette option n'aura aucun effet si --sequence.shuffle
est désactivé. 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
).
hookTimeout
- CLI:
--hookTimeout <timeout>
- Config: hookTimeout
Délai d'attente par défaut d'un hook en millisecondes (par défaut : 10000
).
bail
- CLI:
--bail <number>
- Config: bail
Arrête l'exécution des tests lorsque le nombre spécifié de tests a échoué (par défaut : 0
).
retry
- CLI:
--retry <times>
- Config: retry
Relance le test un nombre spécifié de fois s'il échoue (par défaut : 0
).
diff
- CLI:
--diff <path>
- Config: diff
Chemin vers une configuration de diff qui sera utilisée pour générer l'interface de diff.
exclude
- CLI:
--exclude <glob>
- Config: exclude
Motifs globaux de fichiers supplémentaires à exclure des tests.
expandSnapshotDiff
- CLI:
--expandSnapshotDiff
- Config: expandSnapshotDiff
Affiche le diff complet lorsque l'instantané échoue.
disableConsoleIntercept
- CLI:
--disableConsoleIntercept
- Config: disableConsoleIntercept
Désactive l'interception automatique des logs 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 pour les 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é.
project
- CLI:
--project <name>
- Config: project
Le nom du projet à exécuter si vous utilisez la fonctionnalité d'espace de travail de Vitest. Cela peut être répété pour plusieurs projets : --project=1 --project=2
. Vous pouvez également filtrer les projets en utilisant des caractères génériques comme --project=packages*
.
slowTestThreshold
- CLI:
--slowTestThreshold <threshold>
- Config: slowTestThreshold
Seuil en millisecondes pour qu'un test 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
ms).
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 la console.
run
- CLI:
--run
Désactive le mode surveillance et exécute les tests une seule fois.
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
).
standalone
- CLI:
--standalone
Démarre Vitest sans exécuter de tests immédiatement. 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 (incluant les modifications indexées et non indexé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 un hachage de commit (par exemple --changed 09a9920
) ou un nom de branche (par exemple --changed origin/develop
).
Lorsqu'il est utilisé avec la couverture de code, le rapport ne contiendra que les fichiers liés aux modifications.
S'il est associé à l'option de configuration forceRerunTriggers
, il exécutera toute la suite de tests si au moins un des fichiers listés dans forceRerunTriggers
change. Par défaut, les modifications apportées au fichier de configuration Vitest et à package.json
réexécuteront toujours l'intégralité de la suite.
shard
- Type:
string
- Par défaut: disabled
Permet de fragmenter la suite de tests à exécuter au format <index>
/<count>
, où :
count
est un entier positif représentant le nombre total de fragments.index
est un entier positif représentant l'index du fragment à exécuter.
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 développement).
TIP
Si --reporter=blob
est utilisé sans fichier de sortie, le chemin par défaut inclura la configuration de fragment actuelle pour éviter les collisions avec d'autres processus Vitest.
merge-reports
- Type:
boolean | string
Fusionne chaque rapport blob situé dans le dossier spécifié (par défaut .vitest-reports
). Vous pouvez utiliser n'importe quel rapporteur avec cette commande (à l'exception de blob
) :
vitest --merge-reports --reporter=junit
[notation pointée de cac] : https://github.com/cacjs/cac#dot-nested-options