Befehlszeilenschnittstelle
Befehle
vitest
Startet Vitest im aktuellen Verzeichnis. Wechselt automatisch in den Überwachungsmodus in der Entwicklungsumgebung und in den Ausführungsmodus in CI-Umgebungen (oder in nicht-interaktiven Terminals).
Sie können ein zusätzliches Argument als Filter für die auszuführenden Testdateien übergeben. Zum Beispiel:
vitest foobar
Führt nur Testdateien aus, deren Pfad foobar
enthält. Dieser Filter prüft lediglich, ob der Pfad den Begriff enthält, und unterstützt keine regulären Ausdrücke oder Glob-Muster (es sei denn, Ihr Terminal verarbeitet dies, bevor Vitest den Filter erhält).
Ab Vitest 3 können Sie Tests auch über Dateiname und Zeilennummer angeben:
$ vitest basic/foo.test.ts:10
WARNING
Beachten Sie, dass Vitest den vollständigen Dateinamen benötigt, damit diese Funktion korrekt funktioniert. Dieser kann relativ zum aktuellen Arbeitsverzeichnis oder ein absoluter Dateipfad sein.
$ vitest basic/foo.js:10 # ✅
$ vitest ./basic/foo.js:10 # ✅
$ vitest /users/project/basic/foo.js:10 # ✅
$ vitest foo:10 # ❌
$ vitest ./basic/foo:10 # ❌
Derzeit unterstützt Vitest auch keine Bereichsangaben:
$ vitest basic/foo.test.ts:10, basic/foo.test.ts:25 # ✅
$ vitest basic/foo.test.ts:10-25 # ❌
vitest run
Führt die Tests einmalig ohne Überwachungsmodus aus.
vitest watch
Führt alle Test-Suites aus und überwacht Änderungen. Führt Tests erneut aus, wenn sich die entsprechenden Dateien ändern. Entspricht dem Aufruf von vitest
ohne Argument. Wechselt in CI-Umgebungen oder bei nicht-interaktiven Terminals automatisch zu vitest run
.
vitest dev
Alias für vitest watch
.
vitest related
Führt nur Tests aus, die eine Liste von Quelldateien abdecken. Funktioniert mit statischen Importen (z.B. import('./index.js')
oder import index from './index.js
), aber nicht mit dynamischen (z.B. import(filepath)
). Alle Dateien sollten relativ zum Stammordner sein.
Besonders nützlich für lint-staged
oder Ihre CI-Umgebung.
vitest related /src/index.ts /src/hello-world.js
TIP
Beachten Sie, dass Vitest standardmäßig im Überwachungsmodus startet. Wenn Sie Tools wie lint-staged
verwenden, sollten Sie auch die Option --run
übergeben, damit der Befehl normal beendet werden kann.
export default {
'*.{js,ts}': 'vitest related --run',
};
vitest bench
Führt nur Benchmark-Tests aus, die Leistungsergebnisse vergleichen.
vitest init
vitest init <name>
dient zum Einrichten der Projektkonfiguration. Derzeit unterstützt es nur den Wert browser
:
vitest init browser
vitest list
Der Befehl vitest list
unterstützt alle vitest
-Optionen, um die Liste aller übereinstimmenden Tests auszugeben. Dieser Befehl ignoriert die Option reporters
. Standardmäßig listet er die Namen aller Tests auf, die dem Dateifilter und dem Namensmuster entsprechen:
vitest list filename.spec.ts -t="some-test"
describe > some-test
describe > some-test > test 1
describe > some-test > test 2
Sie können das Flag --json
übergeben, um Tests im JSON-Format auszugeben oder in einer separaten Datei zu speichern:
vitest list filename.spec.ts -t="some-test" --json=./file.json
Wenn dem Flag --json
kein Wert zugewiesen wird, wird die JSON-Ausgabe in stdout geschrieben.
Sie können auch das Flag --filesOnly
übergeben, um nur die Testdateien auszugeben:
vitest list --filesOnly
tests/test1.test.ts
tests/test2.test.ts
Optionen
TIP
Vitest unterstützt sowohl Camel Case als auch Kebab Case für CLI-Argumente. Beispielsweise funktionieren --passWithNoTests
und --pass-with-no-tests
gleichermaßen (--no-color
und --inspect-brk
sind die Ausnahmen).
Vitest unterstützt auch verschiedene Arten der Wertangabe: --reporter dot
und --reporter=dot
sind beide gültig.
Wenn eine Option ein Array von Werten unterstützt, müssen Sie die Option mehrfach übergeben:
vitest --reporter=dot --reporter=default
Boolesche Optionen können mit dem Präfix no-
negiert werden. Die Angabe des Wertes als false
ist ebenfalls möglich:
vitest --no-api
vitest --api=false
root
- CLI:
-r, --root <path>
- Konfiguration: root
Wurzelpfad des Projekts.
config
- CLI:
-c, --config <path>
Pfad zur Konfigurationsdatei.
update
- CLI:
-u, --update
- Konfiguration: update
Aktualisiert Snapshots.
watch
- CLI:
-w, --watch
- Konfiguration: watch
Aktiviert den Überwachungsmodus.
testNamePattern
- CLI:
-t, --testNamePattern <pattern>
- Konfiguration: testNamePattern
Führt Tests aus, deren vollständige Namen dem angegebenen regulären Ausdrucksmuster entsprechen.
dir
- CLI:
--dir <path>
- Konfiguration: dir
Basisverzeichnis für die Suche nach Testdateien.
ui
- CLI:
--ui
- Konfiguration: ui
Aktiviert die Benutzeroberfläche (UI).
open
- CLI:
--open
- Konfiguration: open
Öffnet die UI automatisch (Standard: !process.env.CI
).
api.port
- CLI:
--api.port [port]
Legt den Port für den Server fest. Beachten Sie, dass Vite automatisch den nächsten verfügbaren Port versucht, wenn der angegebene Port bereits belegt ist. Dies ist also möglicherweise nicht der tatsächliche Port, auf dem der Server letztendlich lauscht. Wenn der Parameter auf true
gesetzt wird, wird der Port auf 51204
festgelegt.
api.host
- CLI:
--api.host [host]
Gibt an, auf welchen IP-Adressen der Server lauschen soll. Setzen Sie dies auf 0.0.0.0
oder true
, um auf allen Adressen zu lauschen, einschließlich LAN- und öffentlichen Adressen.
api.strictPort
- CLI:
--api.strictPort
Wenn auf true
gesetzt, wird das Programm beendet, falls der Port bereits belegt ist, anstatt automatisch den nächsten verfügbaren Port zu versuchen.
silent
- CLI:
--silent [value]
- Konfiguration: silent
Unterdrückt die Konsolenausgabe von Tests. Verwenden Sie 'passed-only'
, um nur Protokolle von fehlschlagenden Tests anzuzeigen.
hideSkippedTests
- CLI:
--hideSkippedTests
Blendet Protokolle für übersprungene Tests aus.
reporters
- CLI:
--reporter <name>
- Konfiguration: reporters
Gibt die zu verwendenden Reporter an (default, basic, blob, verbose, dot, json, tap, tap-flat, junit, hanging-process, github-actions).
outputFile
- CLI:
--outputFile <filename/-s>
- Konfiguration: outputFile
Schreibt Testergebnisse in eine Datei, wenn ein kompatibler Reporter angegeben ist. Verwenden Sie die Punktnotation von cac
für individuelle Ausgaben mehrerer Reporter (Beispiel: --outputFile.tap=./tap.txt
).
coverage.all
- CLI:
--coverage.all
- Konfiguration: coverage.all
Gibt an, ob alle Dateien, einschließlich der ungetesteten, in den Abdeckungsbericht aufgenommen werden sollen.
coverage.provider
- CLI:
--coverage.provider <name>
- Konfiguration: coverage.provider
Wählt das Tool für die Code-Abdeckungsmessung. Verfügbare Werte sind: "v8", "istanbul" und "custom".
coverage.enabled
- CLI:
--coverage.enabled
- Konfiguration: coverage.enabled
Aktiviert die Code-Abdeckungsmessung. Kann über die CLI-Option --coverage
überschrieben werden (Standard: false
).
coverage.include
- CLI:
--coverage.include <pattern>
- Konfiguration: coverage.include
Dateien, die als Glob-Pattern in die Abdeckung aufgenommen werden sollen. Kann bei Verwendung mehrerer Muster mehrfach angegeben werden (Standard: **
).
coverage.exclude
- CLI:
--coverage.exclude <pattern>
- Konfiguration: coverage.exclude
Dateien, die von der Abdeckung ausgeschlossen werden sollen. Kann bei Verwendung mehrerer Muster mehrfach angegeben werden (Standard: Weitere Informationen finden Sie unter coverage.exclude
).
coverage.extension
- CLI:
--coverage.extension <extension>
- Konfiguration: coverage.extension
Dateierweiterungen, die in die Abdeckung aufgenommen werden sollen. Kann bei Verwendung mehrerer Erweiterungen mehrfach angegeben werden (Standard: [".js", ".cjs", ".mjs", ".ts", ".mts", ".tsx", ".jsx", ".vue", ".svelte"]
).
coverage.clean
- CLI:
--coverage.clean
- Konfiguration: coverage.clean
Bereinigt Abdeckungsergebnisse vor dem Ausführen von Tests (Standard: true
).
coverage.cleanOnRerun
- CLI:
--coverage.cleanOnRerun
- Konfiguration: coverage.cleanOnRerun
Bereinigt den Abdeckungsbericht bei erneuter Ausführung im Überwachungsmodus (Standard: true
).
coverage.reportsDirectory
- CLI:
--coverage.reportsDirectory <path>
- Konfiguration: coverage.reportsDirectory
Verzeichnis, in das der Abdeckungsbericht geschrieben werden soll (Standard: ./coverage
).
coverage.reporter
- CLI:
--coverage.reporter <name>
- Konfiguration: coverage.reporter
Die zu verwendenden Abdeckungsreporter. Weitere Informationen finden Sie unter coverage.reporter
(Standard: ["text", "html", "clover", "json"]
).
coverage.reportOnFailure
- CLI:
--coverage.reportOnFailure
- Konfiguration: coverage.reportOnFailure
Generiert den Abdeckungsbericht auch bei fehlschlagenden Tests (Standard: false
).
coverage.allowExternal
- CLI:
--coverage.allowExternal
- Konfiguration: coverage.allowExternal
Erfasst die Abdeckung von Dateien außerhalb des Projekt-Root-Verzeichnisses (Standard: false
).
coverage.skipFull
- CLI:
--coverage.skipFull
- Konfiguration: coverage.skipFull
Blendet Dateien mit 100% Anweisungs-, Branch- und Funktionsabdeckung aus (Standard: false
).
coverage.thresholds.100
- CLI:
--coverage.thresholds.100
- Konfiguration: coverage.thresholds.100
Kurzbefehl, um alle Abdeckungsschwellenwerte auf 100 zu setzen (Standard: false
).
coverage.thresholds.perFile
- CLI:
--coverage.thresholds.perFile
- Konfiguration: coverage.thresholds.perFile
Prüft Schwellenwerte pro Datei. Siehe --coverage.thresholds.lines
, --coverage.thresholds.functions
, --coverage.thresholds.branches
und --coverage.thresholds.statements
für die tatsächlichen Schwellenwerte (Standard: false
).
coverage.thresholds.autoUpdate
- CLI:
--coverage.thresholds.autoUpdate
- Konfiguration: coverage.thresholds.autoUpdate
Aktualisiert die Schwellenwerte für "lines", "functions", "branches" und "statements" in der Konfigurationsdatei, wenn die aktuelle Abdeckung über den konfigurierten Schwellenwerten liegt (Standard: false
).
coverage.thresholds.lines
- CLI:
--coverage.thresholds.lines <number>
Schwellenwert für Zeilenabdeckung. Weitere Informationen finden Sie unter istanbuljs. Diese Option ist für benutzerdefinierte Provider nicht verfügbar.
coverage.thresholds.functions
- CLI:
--coverage.thresholds.functions <number>
Schwellenwert für Funktionsabdeckung. Weitere Informationen finden Sie unter istanbuljs. Diese Option ist für benutzerdefinierte Provider nicht verfügbar.
coverage.thresholds.branches
- CLI:
--coverage.thresholds.branches <number>
Schwellenwert für Branch-Abdeckung. Weitere Informationen finden Sie unter istanbuljs. Diese Option ist für benutzerdefinierte Provider nicht verfügbar.
coverage.thresholds.statements
- CLI:
--coverage.thresholds.statements <number>
Schwellenwert für Anweisungsabdeckung. Weitere Informationen finden Sie unter istanbuljs. Diese Option ist für benutzerdefinierte Provider nicht verfügbar.
coverage.ignoreClassMethods
- CLI:
--coverage.ignoreClassMethods <name>
- Konfiguration: coverage.ignoreClassMethods
Array von Klassennamen, die für die Abdeckung ignoriert werden sollen. Weitere Informationen finden Sie unter istanbuljs. Diese Option ist nur für den Istanbul-Provider verfügbar (Standard: []
).
coverage.processingConcurrency
- CLI:
--coverage.processingConcurrency <number>
- Konfiguration: coverage.processingConcurrency
Begrenzung der Parallelität, die beim Verarbeiten der Abdeckungsergebnisse verwendet wird (Standard: Das Minimum aus 20 und der Anzahl der CPUs).
coverage.customProviderModule
- CLI:
--coverage.customProviderModule <path>
- Konfiguration: coverage.customProviderModule
Gibt den Modulnamen oder Pfad für das benutzerdefinierte Abdeckungs-Provider-Modul an. Weitere Informationen finden Sie unter Custom Coverage Provider. Diese Option ist nur für benutzerdefinierte Provider verfügbar.
coverage.watermarks.statements
- CLI:
--coverage.watermarks.statements <watermarks>
Obere und untere Grenzwerte für Anweisungen im Format <hoch>,<niedrig>
.
coverage.watermarks.lines
- CLI:
--coverage.watermarks.lines <watermarks>
Obere und untere Grenzwerte für Zeilen im Format <hoch>,<niedrig>
.
coverage.watermarks.branches
- CLI:
--coverage.watermarks.branches <watermarks>
Obere und untere Grenzwerte für Branches im Format <hoch>,<niedrig>
.
coverage.watermarks.functions
- CLI:
--coverage.watermarks.functions <watermarks>
Obere und untere Grenzwerte für Funktionen im Format <hoch>,<niedrig>
.
mode
- CLI:
--mode <name>
- Konfiguration: mode
Überschreibt den Vite-Modus (Standard: test
oder benchmark
).
workspace
- CLI:
--workspace <path>
- Konfiguration: workspace
[Veraltet] Pfad zu einer Workspace-Konfigurationsdatei.
isolate
- CLI:
--isolate
- Konfiguration: isolate
Führt jede Testdatei isoliert aus. Um die Isolation zu deaktivieren, verwenden Sie --no-isolate
(Standard: true
).
globals
- CLI:
--globals
- Konfiguration: globals
Stellt APIs global bereit.
dom
- CLI:
--dom
Mockt Browser-APIs mit happy-dom
.
browser.enabled
- CLI:
--browser.enabled
- Konfiguration: browser.enabled
Führt Tests im Browser aus. Entspricht --browser.enabled
(Standardwert: false
)
browser.name
- CLI:
--browser.name <name>
- Konfiguration: browser.name
Führt alle Tests in einem bestimmten Browser aus. Einige Browser sind nur für bestimmte Provider verfügbar (siehe --browser.provider
). Weitere Informationen finden Sie unter browser.name
.
browser.headless
- CLI:
--browser.headless
- Konfiguration: browser.headless
Führt den Browser im Headless-Modus aus (d.h. ohne grafische Benutzeroberfläche (GUI)). Wenn Vitest in einer CI-Umgebung ausgeführt wird, ist diese Option standardmäßig aktiviert (Standard: process.env.CI
).
browser.api.port
- CLI:
--browser.api.port [port]
- Konfiguration: browser.api.port
Legt den Port für den Server fest. Beachten Sie, dass Vite automatisch den nächsten verfügbaren Port versucht, wenn der angegebene Port bereits belegt ist. Dies ist also möglicherweise nicht der tatsächliche Port, auf dem der Server letztendlich lauscht. Wenn der Parameter auf true
gesetzt wird, wird der Port auf 63315
festgelegt.
browser.api.host
- CLI:
--browser.api.host [host]
- Konfiguration: browser.api.host
Gibt an, auf welchen IP-Adressen der Server lauschen soll. Setzen Sie dies auf 0.0.0.0
oder true
, um auf allen Adressen zu lauschen, einschließlich LAN- und öffentlichen Adressen.
browser.api.strictPort
- CLI:
--browser.api.strictPort
- Konfiguration: browser.api.strictPort
Wenn auf true
gesetzt, wird das Programm beendet, falls der Port bereits belegt ist, anstatt automatisch den nächsten verfügbaren Port zu versuchen.
browser.provider
- CLI:
--browser.provider <name>
- Konfiguration: browser.provider
Der Provider, der zum Ausführen von Browser-Tests verwendet wird. Einige Browser sind nur für bestimmte Provider verfügbar. Kann "webdriverio", "playwright", "preview" oder der Pfad zu einem benutzerdefinierten Provider sein. Weitere Informationen finden Sie unter browser.provider
(Standard: "preview"
).
browser.providerOptions
- CLI:
--browser.providerOptions <options>
- Konfiguration: browser.providerOptions
Optionen, die an einen Browser-Provider weitergegeben werden. Weitere Informationen finden Sie unter browser.providerOptions
.
browser.isolate
- CLI:
--browser.isolate
- Konfiguration: browser.isolate
Führt jede Browser-Testdatei isoliert aus. Um die Isolation zu deaktivieren, verwenden Sie --browser.isolate=false
(Standard: true
).
browser.ui
- CLI:
--browser.ui
- Konfiguration: browser.ui
Zeigt die Vitest UI beim Ausführen von Tests an (Standard: !process.env.CI
).
browser.fileParallelism
- CLI:
--browser.fileParallelism
- Konfiguration: browser.fileParallelism
Gibt an, ob Browser-Testdateien parallel ausgeführt werden sollen. Verwenden Sie --browser.fileParallelism=false
, um dies zu deaktivieren (Standard: true
).
browser.connectTimeout
- CLI:
--browser.connectTimeout <timeout>
- Konfiguration: browser.connectTimeout
Lässt die Testsuite fehlschlagen, wenn die Verbindung zum Browser länger als das angegebene Timeout dauert (Standard: 60_000
).
pool
- CLI:
--pool <pool>
- Konfiguration: pool
Gibt den Pool an, wenn nicht im Browser ausgeführt wird (Standard: forks
).
poolOptions.threads.isolate
- CLI:
--poolOptions.threads.isolate
- Konfiguration: poolOptions.threads.isolate
Isoliert Tests im Threads-Pool (Standard: true
).
poolOptions.threads.singleThread
- CLI:
--poolOptions.threads.singleThread
- Konfiguration: poolOptions.threads.singleThread
Führt Tests in einem einzigen Thread aus (Standard: false
).
poolOptions.threads.maxThreads
- CLI:
--poolOptions.threads.maxThreads <workers>
- Konfiguration: poolOptions.threads.maxThreads
Maximale Anzahl oder Prozentsatz von Threads, in denen Tests ausgeführt werden sollen.
poolOptions.threads.minThreads
- CLI:
--poolOptions.threads.minThreads <workers>
- Konfiguration: poolOptions.threads.minThreads
Minimale Anzahl oder Prozentsatz von Threads, in denen Tests ausgeführt werden sollen.
poolOptions.threads.useAtomics
- CLI:
--poolOptions.threads.useAtomics
- Konfiguration: poolOptions.threads.useAtomics
Verwendet Atomics zur Synchronisierung von Threads. Dies kann in einigen Fällen die Leistung verbessern, aber in älteren Node-Versionen zu Segmentierungsfehlern führen (Standard: false
).
poolOptions.vmThreads.isolate
- CLI:
--poolOptions.vmThreads.isolate
- Konfiguration: poolOptions.vmThreads.isolate
Isoliert Tests im VM-Threads-Pool (Standard: true
).
poolOptions.vmThreads.singleThread
- CLI:
--poolOptions.vmThreads.singleThread
- Konfiguration: poolOptions.vmThreads.singleThread
Führt Tests in einem einzigen VM-Thread aus (Standard: false
).
poolOptions.vmThreads.maxThreads
- CLI:
--poolOptions.vmThreads.maxThreads <workers>
- Konfiguration: poolOptions.vmThreads.maxThreads
Maximale Anzahl oder Prozentsatz von VM-Threads, in denen Tests ausgeführt werden sollen.
poolOptions.vmThreads.minThreads
- CLI:
--poolOptions.vmThreads.minThreads <workers>
- Konfiguration: poolOptions.vmThreads.minThreads
Minimale Anzahl oder Prozentsatz von VM-Threads, in denen Tests ausgeführt werden sollen.
poolOptions.vmThreads.useAtomics
- CLI:
--poolOptions.vmThreads.useAtomics
- Konfiguration: poolOptions.vmThreads.useAtomics
Verwendet Atomics zur Synchronisierung von VM-Threads. Dies kann in einigen Fällen die Leistung verbessern, aber in älteren Node-Versionen zu Segmentierungsfehlern führen (Standard: false
).
poolOptions.vmThreads.memoryLimit
- CLI:
--poolOptions.vmThreads.memoryLimit <limit>
- Konfiguration: poolOptions.vmThreads.memoryLimit
Speicherlimit für den VM-Threads-Pool. Wenn Sie Speicherlecks feststellen, versuchen Sie, diesen Wert anzupassen.
poolOptions.forks.isolate
- CLI:
--poolOptions.forks.isolate
- Konfiguration: poolOptions.forks.isolate
Isoliert Tests im Forks-Pool (Standard: true
).
poolOptions.forks.singleFork
- CLI:
--poolOptions.forks.singleFork
- Konfiguration: poolOptions.forks.singleFork
Führt Tests in einem einzigen child_process
aus (Standard: false
).
poolOptions.forks.maxForks
- CLI:
--poolOptions.forks.maxForks <workers>
- Konfiguration: poolOptions.forks.maxForks
Maximale Anzahl oder Prozentsatz von Prozessen, in denen Tests ausgeführt werden sollen.
poolOptions.forks.minForks
- CLI:
--poolOptions.forks.minForks <workers>
- Konfiguration: poolOptions.forks.minForks
Minimale Anzahl oder Prozentsatz von Prozessen, in denen Tests ausgeführt werden sollen.
poolOptions.vmForks.isolate
- CLI:
--poolOptions.vmForks.isolate
- Konfiguration: poolOptions.vmForks.isolate
Isoliert Tests im VM-Forks-Pool (Standard: true
).
poolOptions.vmForks.singleFork
- CLI:
--poolOptions.vmForks.singleFork
- Konfiguration: poolOptions.vmForks.singleFork
Führt Tests in einem einzigen child_process
im VM-Forks-Pool aus (Standard: false
).
poolOptions.vmForks.maxForks
- CLI:
--poolOptions.vmForks.maxForks <workers>
- Konfiguration: poolOptions.vmForks.maxForks
Maximale Anzahl oder Prozentsatz von Prozessen, in denen Tests im VM-Forks-Pool ausgeführt werden sollen.
poolOptions.vmForks.minForks
- CLI:
--poolOptions.vmForks.minForks <workers>
- Konfiguration: poolOptions.vmForks.minForks
Minimale Anzahl oder Prozentsatz von Prozessen, in denen Tests im VM-Forks-Pool ausgeführt werden sollen.
poolOptions.vmForks.memoryLimit
- CLI:
--poolOptions.vmForks.memoryLimit <limit>
- Konfiguration: poolOptions.vmForks.memoryLimit
Speicherlimit für den VM-Forks-Pool. Wenn Sie Speicherlecks feststellen, versuchen Sie, diesen Wert anzupassen.
fileParallelism
- CLI:
--fileParallelism
- Konfiguration: fileParallelism
Gibt an, ob alle Testdateien parallel ausgeführt werden sollen. Verwenden Sie --no-file-parallelism
, um dies zu deaktivieren (Standard: true
).
maxWorkers
- CLI:
--maxWorkers <workers>
- Konfiguration: maxWorkers
Maximale Anzahl oder Prozentsatz von Worker-Prozessen, in denen Tests ausgeführt werden sollen.
minWorkers
- CLI:
--minWorkers <workers>
- Konfiguration: minWorkers
Minimale Anzahl oder Prozentsatz von Worker-Prozessen, in denen Tests ausgeführt werden sollen.
environment
- CLI:
--environment <name>
- Konfiguration: environment
Gibt die Testlauf-Umgebung an, wenn nicht im Browser ausgeführt wird (Standard: node
).
passWithNoTests
- CLI:
--passWithNoTests
- Konfiguration: passWithNoTests
Der Testlauf gilt als erfolgreich, auch wenn keine Tests gefunden werden.
logHeapUsage
- CLI:
--logHeapUsage
- Konfiguration: logHeapUsage
Zeigt die Heap-Größe für jeden Test an, wenn dieser in Node ausgeführt wird.
allowOnly
- CLI:
--allowOnly
- Konfiguration: allowOnly
Erlaubt Tests und Suiten, die als "only" markiert sind (Standard: !process.env.CI
).
dangerouslyIgnoreUnhandledErrors
- CLI:
--dangerouslyIgnoreUnhandledErrors
- Konfiguration: dangerouslyIgnoreUnhandledErrors
Ignoriert alle unbehandelten Fehler.
sequence.shuffle.files
- CLI:
--sequence.shuffle.files
- Konfiguration: sequence.shuffle.files
Führt Dateien in zufälliger Reihenfolge aus. Diese Option verhindert, dass langlaufende Tests bevorzugt früher starten (Standard: false
).
sequence.shuffle.tests
- CLI:
--sequence.shuffle.tests
- Konfiguration: sequence.shuffle.tests
Führt Tests in zufälliger Reihenfolge aus (Standard: false
).
sequence.concurrent
- CLI:
--sequence.concurrent
- Konfiguration: sequence.concurrent
Ermöglicht die parallele Ausführung von Tests (Standard: false
).
sequence.seed
- CLI:
--sequence.seed <seed>
- Konfiguration: sequence.seed
Legt den Zufallsgenerator-Seed fest. Diese Option hat keine Auswirkung, wenn --sequence.shuffle
deaktiviert ist. Weitere Informationen finden Sie auf der Seite "Random Seed".
sequence.hooks
- CLI:
--sequence.hooks <order>
- Konfiguration: sequence.hooks
Ändert die Reihenfolge, in der Hooks ausgeführt werden. Akzeptierte Werte sind: "stack", "list" und "parallel". Weitere Informationen finden Sie unter sequence.hooks
(Standard: "parallel"
).
sequence.setupFiles
- CLI:
--sequence.setupFiles <order>
- Konfiguration: sequence.setupFiles
Ändert die Reihenfolge, in der Setup-Dateien ausgeführt werden. Akzeptierte Werte sind: "list" und "parallel". Wenn auf "list" gesetzt, werden Setup-Dateien in der Reihenfolge ausgeführt, in der sie definiert sind. Wenn auf "parallel" gesetzt, werden Setup-Dateien parallel ausgeführt (Standard: "parallel"
).
inspect
- CLI:
--inspect [[host:]port]
- Konfiguration: inspect
Aktiviert den Node.js Inspector (Standard: 127.0.0.1:9229
).
inspectBrk
- CLI:
--inspectBrk [[host:]port]
- Konfiguration: inspectBrk
Aktiviert den Node.js Inspector und unterbricht die Ausführung vor dem Start des Tests.
testTimeout
- CLI:
--testTimeout <timeout>
- Konfiguration: testTimeout
Standard-Timeout eines Tests in Millisekunden (Standard: 5000
). Verwenden Sie 0
, um das Timeout vollständig zu deaktivieren.
hookTimeout
- CLI:
--hookTimeout <timeout>
- Konfiguration: hookTimeout
Standard-Hook-Timeout in Millisekunden (Standard: 10000
). Verwenden Sie 0
, um das Timeout vollständig zu deaktivieren.
bail
- CLI:
--bail <number>
- Konfiguration: bail
Stoppt die Testausführung, wenn die angegebene Anzahl von Tests fehlgeschlagen ist (Standard: 0
).
retry
- CLI:
--retry <times>
- Konfiguration: retry
Wiederholt den Test eine bestimmte Anzahl von Malen, wenn er fehlschlägt (Standard: 0
).
diff.aAnnotation
- CLI:
--diff.aAnnotation <annotation>
- Konfiguration: diff.aAnnotation
Anmerkung für erwartete Zeilen (Standard: Expected
).
diff.aIndicator
- CLI:
--diff.aIndicator <indicator>
- Konfiguration: diff.aIndicator
Indikator für erwartete Zeilen (Standard: -
).
diff.bAnnotation
- CLI:
--diff.bAnnotation <annotation>
- Konfiguration: diff.bAnnotation
Anmerkung für empfangene Zeilen (Standard: Received
).
diff.bIndicator
- CLI:
--diff.bIndicator <indicator>
- Konfiguration: diff.bIndicator
Indikator für empfangene Zeilen (Standard: +
).
diff.commonIndicator
- CLI:
--diff.commonIndicator <indicator>
- Konfiguration: diff.commonIndicator
Indikator für gemeinsame Zeilen (Standard: ).
diff.contextLines
- CLI:
--diff.contextLines <lines>
- Konfiguration: diff.contextLines
Anzahl der Kontextzeilen, die um jede Änderung herum angezeigt werden sollen (Standard: 5
).
diff.emptyFirstOrLastLinePlaceholder
- CLI:
--diff.emptyFirstOrLastLinePlaceholder <placeholder>
- Konfiguration: diff.emptyFirstOrLastLinePlaceholder
Platzhalter für eine leere erste oder letzte Zeile (Standard: ""
).
diff.expand
- CLI:
--diff.expand
- Konfiguration: diff.expand
Erweitert alle gemeinsamen Zeilen (Standard: true
).
diff.includeChangeCounts
- CLI:
--diff.includeChangeCounts
- Konfiguration: diff.includeChangeCounts
Schließt Vergleichszahlen in die Diff-Ausgabe ein (Standard: false
).
diff.omitAnnotationLines
- CLI:
--diff.omitAnnotationLines
- Konfiguration: diff.omitAnnotationLines
Lässt Anmerkungszeilen aus der Ausgabe weg (Standard: false
).
diff.printBasicPrototype
- CLI:
--diff.printBasicPrototype
- Konfiguration: diff.printBasicPrototype
Gibt grundlegende Prototyp-Objekte und Arrays aus (Standard: true
).
diff.maxDepth
- CLI:
--diff.maxDepth <maxDepth>
- Konfiguration: diff.maxDepth
Begrenzt die Rekursionstiefe beim Drucken verschachtelter Objekte (Standard: 20
).
diff.truncateThreshold
- CLI:
--diff.truncateThreshold <threshold>
- Konfiguration: diff.truncateThreshold
Anzahl der Zeilen, die vor und nach jeder Änderung angezeigt werden sollen (Standard: 0
).
diff.truncateAnnotation
- CLI:
--diff.truncateAnnotation <annotation>
- Konfiguration: diff.truncateAnnotation
Anmerkung für abgeschnittene Zeilen (Standard: ... Diff result is truncated
).
exclude
- CLI:
--exclude <glob>
- Konfiguration: exclude
Zusätzliche Dateiglobs, die von Tests ausgeschlossen werden sollen.
expandSnapshotDiff
- CLI:
--expandSnapshotDiff
- Konfiguration: expandSnapshotDiff
Zeigt den vollständigen Diff an, wenn der Snapshot fehlschlägt.
disableConsoleIntercept
- CLI:
--disableConsoleIntercept
- Konfiguration: disableConsoleIntercept
Deaktiviert das automatische Abfangen der Konsolenprotokollierung (Standard: false
).
typecheck.enabled
- CLI:
--typecheck.enabled
- Konfiguration: typecheck.enabled
Aktiviert die Typüberprüfung zusätzlich zu den Tests (Standard: false
).
typecheck.only
- CLI:
--typecheck.only
- Konfiguration: typecheck.only
Führt nur Typüberprüfungs-Tests aus. Dies aktiviert automatisch die Typüberprüfung (Standard: false
).
typecheck.checker
- CLI:
--typecheck.checker <name>
- Konfiguration: typecheck.checker
Gibt den zu verwendenden Typüberprüfer an. Verfügbare Werte sind: "tsc" und "vue-tsc" sowie ein Pfad zu einer ausführbaren Datei (Standard: "tsc"
).
typecheck.allowJs
- CLI:
--typecheck.allowJs
- Konfiguration: typecheck.allowJs
Erlaubt JavaScript-Dateien zur Typüberprüfung. Übernimmt standardmäßig den Wert aus tsconfig.json
.
typecheck.ignoreSourceErrors
- CLI:
--typecheck.ignoreSourceErrors
- Konfiguration: typecheck.ignoreSourceErrors
Ignoriert Typfehler aus Quelldateien.
typecheck.tsconfig
- CLI:
--typecheck.tsconfig <path>
- Konfiguration: typecheck.tsconfig
Pfad zu einer benutzerdefinierten tsconfig
-Datei.
typecheck.spawnTimeout
- CLI:
--typecheck.spawnTimeout <time>
- Konfiguration: typecheck.spawnTimeout
Minimale Zeit in Millisekunden, die zum Starten des Typüberprüfers benötigt wird.
project
- CLI:
--project <name>
- Konfiguration: project
Name des Projekts, das ausgeführt werden soll, wenn die Vitest-Workspace-Funktion verwendet wird. Dies kann für mehrere Projekte wiederholt werden: --project=1 --project=2
. Sie können Projekte auch mit Wildcards filtern, z.B. --project=packages*
, und Projekte mit --project=!pattern
ausschließen.
slowTestThreshold
- CLI:
--slowTestThreshold <threshold>
- Konfiguration: slowTestThreshold
Schwellenwert in Millisekunden, ab dem ein Test oder eine Suite als langsam betrachtet wird (Standard: 300
).
teardownTimeout
- CLI:
--teardownTimeout <timeout>
- Konfiguration: teardownTimeout
Standard-Timeout einer Teardown-Funktion in Millisekunden (Standard: 10000
).
maxConcurrency
- CLI:
--maxConcurrency <number>
- Konfiguration: maxConcurrency
Maximale Anzahl gleichzeitiger Tests in einer Suite (Standard: 5
).
expect.requireAssertions
- CLI:
--expect.requireAssertions
- Konfiguration: expect.requireAssertions
Fordert, dass alle Tests mindestens eine Assertion enthalten.
expect.poll.interval
- CLI:
--expect.poll.interval <interval>
- Konfiguration: expect.poll.interval
Abfrageintervall in Millisekunden für expect.poll()
-Assertions (Standard: 50
).
expect.poll.timeout
- CLI:
--expect.poll.timeout <timeout>
- Konfiguration: expect.poll.timeout
Abfrage-Timeout in Millisekunden für expect.poll()
-Assertions (Standard: 1000
).
printConsoleTrace
- CLI:
--printConsoleTrace
- Konfiguration: printConsoleTrace
Gibt Konsolen-Stack-Traces immer aus.
includeTaskLocation
- CLI:
--includeTaskLocation
- Konfiguration: includeTaskLocation
Erfasst Test- und Suite-Speicherorte in der Eigenschaft location
.
attachmentsDir
- CLI:
--attachmentsDir <dir>
- Konfiguration: attachmentsDir
Das Verzeichnis, in dem Anhänge von context.annotate
gespeichert werden (Standard: .vitest-attachments
).
run
- CLI:
--run
Deaktiviert den Überwachungsmodus.
color
- CLI:
--no-color
Entfernt Farben aus der Konsolenausgabe.
clearScreen
- CLI:
--clearScreen
Löscht den Terminalbildschirm, wenn Tests im Überwachungsmodus erneut ausgeführt werden (Standard: true
).
configLoader
- CLI:
--configLoader <loader>
Verwenden Sie bundle
, um die Konfiguration mit esbuild zu bündeln, oder runner
(experimentell), um sie direkt zu verarbeiten. Dies ist nur in Vite-Version 6.1.0 und höher verfügbar (Standard: bundle
).
standalone
- CLI:
--standalone
Startet Vitest, ohne Tests auszuführen. Dateifilter werden ignoriert, Tests werden nur bei Änderungen ausgeführt (Standard: false
).
changed
- Typ:
boolean | string
- Standard: false
Führt Tests ausschließlich für geänderte Dateien aus. Wenn kein Wert angegeben wird, werden Tests für nicht-committete Änderungen (einschließlich gestagter und ungestagter Änderungen) ausgeführt.
Um Tests für Änderungen auszuführen, die im letzten Commit vorgenommen wurden, können Sie --changed HEAD~1
verwenden. Sie können auch einen Commit-Hash (z.B. --changed 09a9920
) oder einen Branch-Namen (z.B. --changed origin/develop
) übergeben.
Bei gleichzeitiger Verwendung von Code Coverage enthält der Bericht nur die Dateien, die mit den Änderungen in Verbindung stehen.
In Kombination mit der Konfigurationsoption forceRerunTriggers
wird die gesamte Testsuite ausgeführt, wenn sich mindestens eine der in der forceRerunTriggers
-Liste aufgeführten Dateien ändert. Standardmäßig führen Änderungen an der Vitest-Konfigurationsdatei und package.json
immer die gesamte Suite erneut aus.
shard
- Typ:
string
- Standard: disabled
Testsuite-Shard, der im Format <index>
/<count>
ausgeführt werden soll, wobei
count
eine positive Ganzzahl ist, die Anzahl der geteilten Teileindex
eine positive Ganzzahl ist, der Index des geteilten Teils
Dieser Befehl teilt alle Tests in count
gleich große Teile und führt nur diejenigen aus, die dem index
-Teil entsprechen. Um Ihre Testsuite beispielsweise in drei Teile aufzuteilen, verwenden Sie dies:
vitest run --shard=1/3
vitest run --shard=2/3
vitest run --shard=3/3
WARNING
Sie können diese Option nicht mit aktiviertem --watch
verwenden (standardmäßig in der Entwicklung aktiviert).
TIP
Wenn --reporter=blob
ohne Ausgabedatei verwendet wird, enthält der Standardpfad die aktuelle Shard-Konfiguration, um Kollisionen mit anderen Vitest-Prozessen zu vermeiden.
merge-reports
- Typ:
boolean | string
Fasst alle Blob-Berichte zusammen, die sich im angegebenen Ordner befinden (standardmäßig .vitest-reports
). Sie können mit diesem Befehl beliebige Reporter verwenden (außer blob
):
vitest --merge-reports --reporter=junit