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,
});
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 Benchmarkstypecheck
beim Ausführen von Typprüfungen
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.
typecheck
Im Typecheck-Modus werden keine Tests ausgeführt. Es werden lediglich Typen analysiert und eine Zusammenfassung erstellt. Dieser Modus verwendet die Optionen typecheck.include
und typecheck.exclude
in der Konfiguration, um die zu analysierenden 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.