Node API
WARNING
Vitest stellt experimentelle, private APIs bereit. Änderungen, die zu Inkompatibilitäten führen, folgen möglicherweise nicht dem Semver. Bitte fixieren Sie die Vitest-Version, wenn Sie diese verwenden.
startVitest
Sie können Vitest-Tests über die Node-API starten:
import { startVitest } from 'vitest/node';
const vitest = await startVitest('test');
await vitest?.close();
Die Funktion startVitest
gibt eine Vitest
-Instanz zurück, wenn die Tests erfolgreich gestartet werden konnten. Sie gibt undefined
zurück, wenn eine der folgenden Bedingungen zutrifft:
- Vitest konnte das Paket
vite
nicht finden (dieses wird normalerweise mit Vitest installiert). - Die Coverage ist aktiviert und der Ausführungsmodus ist "test", aber das Testabdeckungspaket ist nicht installiert (
@vitest/coverage-v8
oder@vitest/coverage-istanbul
). - Das Umgebungspaket ist nicht installiert (
jsdom
/happy-dom
/@edge-runtime/vm
).
Wenn undefined
zurückgegeben wird oder während der Ausführung Fehler in den Tests auftreten, setzt Vitest process.exitCode
auf 1
.
Wenn der Beobachtungsmodus nicht aktiviert ist, wird die Methode close
der Vitest
-Instanz aufgerufen.
Wenn der Beobachtungsmodus aktiviert ist und das Terminal TTY unterstützt, registriert Vitest Konsolenkurzbefehle.
Sie können eine Liste von Filtern als zweites Argument angeben. Vitest führt dann nur Tests aus, deren Dateipfad mindestens eine der übergebenen Zeichenketten enthält.
Zusätzlich können Sie das dritte Argument verwenden, um CLI-Argumente zu übergeben, die alle Testkonfigurationsoptionen überschreiben.
Alternativ können Sie die vollständige Vite-Konfiguration als viertes Argument übergeben. Diese Konfiguration hat Vorrang vor allen anderen benutzerdefinierten Optionen.
createVitest
Sie können eine Vitest
-Instanz mit der Funktion createVitest
selbst erstellen. Sie gibt dieselbe Vitest
-Instanz wie startVitest
zurück, startet jedoch keine Tests und überprüft nicht, ob die erforderlichen Pakete installiert sind.
import { createVitest } from 'vitest/node';
const vitest = await createVitest('test', {
watch: false,
});
parseCLI
Sie können diese Methode verwenden, um CLI-Argumente zu parsen. Sie akzeptiert einen String (wobei Argumente durch ein einzelnes Leerzeichen getrennt sind) oder ein String-Array von CLI-Argumenten im selben Format, das Vitest CLI verwendet. Es gibt einen Filter und options
zurück, die Sie später an die Methoden createVitest
oder startVitest
übergeben können.
import { parseCLI } from 'vitest/node';
parseCLI('vitest ./files.ts --coverage --browser=chrome');
Vitest
Für die Vitest
-Instanz muss der aktuelle Testmodus angegeben werden. Dies kann einer der folgenden Werte sein:
test
beim Ausführen von Unit-Testsbenchmark
beim Ausführen von Benchmarks
mode
test
Im Testmodus werden nur Funktionen innerhalb von test
oder it
aufgerufen. Der Aufruf von bench
führt zu einem Fehler. Dieser Modus verwendet die Optionen include
und exclude
in der Konfiguration, um Testdateien zu identifizieren.
benchmark
Im Benchmark-Modus werden bench
-Funktionen aufgerufen. Der Aufruf von test
oder it
führt zu einem Fehler. Dieser Modus verwendet die Optionen benchmark.include
und benchmark.exclude
in der Konfiguration, um Benchmark-Dateien zu identifizieren.
start
Sie können die Ausführung von Tests oder Benchmarks mit der Methode start
starten. Sie können ein Array von Zeichenketten übergeben, um die Testdateien zu filtern.