Skip to content
Vitest 3
Main Navigation Leitfaden & APIKonfigurationBrowser-ModusFortgeschritten API
3.2.0
2.1.9
1.6.1
0.34.6

Deutsch

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

Deutsch

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

Aussehen

Sidebar Navigation

Einführung

Warum Vitest

Erste Schritte

Funktionen

Vitest konfigurieren

API

Test-API-Referenz

Mock-Funktionen

Vi

expect

expectTypeOf

assert

assertType

Leitfaden

Befehlszeilenschnittstelle

Testfilterung

Testprojekte

Reporter

Code-Abdeckung

Snapshot

Mocking

Parallelisierung

Typüberprüfungen

Vitest UI

Tests im Quellcode

Test-Kontext

Test-Annotationen

Testumgebung

Matcher erweitern

IDE-Integrationen

Debugging

Häufige Fehler

Migrationsleitfaden

Migration zu Vitest 3.0

Migration von Jest

Performance

Leistungsprofilierung von Tests

Leistung verbessern

Browser-Modus

Erweiterte API

Vergleiche mit anderen Test-Runnern

Auf dieser Seite

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:

bash
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:

bash
$ 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.

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

Derzeit unterstützt Vitest auch keine Bereichsangaben:

bash
$ 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.

bash
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.

js
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:

bash
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:

shell
vitest list filename.spec.ts -t="some-test"
txt
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:

bash
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:

bash
vitest list --filesOnly
txt
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 Teile
  • index 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:

sh
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):

sh
vitest --merge-reports --reporter=junit
Pager
Vorherige SeiteassertType
Nächste SeiteTestfilterung

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/guide/cli

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2021-Present Vitest Team