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
vitenicht 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-v8oder@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:
testbeim Ausführen von Unit-Testsbenchmarkbeim 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.