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

API

Node API

Erweiterte API

Vitest API

TestProject

TestSpecification

Test Task API

TestCase

TestSuite

TestModule

TestCollection

Plugin-API

Runner API

Reporter

Aufgaben-Metadaten

Leitfaden

Tests ausführen

Reporter erweitern

Benutzerdefinierter Pool

Vitest konfigurieren

Test-API-Referenz

Auf dieser Seite

Erweiterte API ​

WARNING

Dieser Leitfaden listet erweiterte APIs auf, um Tests über ein Node.js-Skript auszuführen. Wenn Sie lediglich Tests ausführen möchten, benötigen Sie diese wahrscheinlich nicht. Sie wird hauptsächlich von Bibliotheksentwicklern verwendet.

Sie können jede Methode aus dem vitest/node-Einstiegspunkt importieren.

startVitest ​

ts
function startVitest(
  mode: VitestRunMode,
  cliFilters: string[] = [],
  options: CliOptions = {},
  viteOverrides?: ViteUserConfig,
  vitestOptions?: VitestOptions
): Promise<Vitest>;

Sie können Vitest-Tests mit seiner Node-API starten:

js
import { startVitest } from 'vitest/node';

const vitest = await startVitest('test');

await vitest.close();

Die Funktion startVitest gibt eine Vitest-Instanz zurück, sofern Tests gestartet werden können.

Wenn der Überwachungsmodus nicht aktiviert ist, wird die close-Methode von Vitest automatisch aufgerufen.

Wenn der Überwachungsmodus aktiviert ist und das Terminal TTY unterstützt, registriert Vitest Konsolen-Tastenkürzel.

Sie können eine Liste von Filtern als zweites Argument übergeben. Vitest führt dann nur Tests aus, deren Dateipfad mindestens einen der übergebenen Strings enthält.

Zusätzlich können Sie das dritte Argument nutzen, um CLI-Argumente zu übergeben. Diese überschreiben dann alle Testkonfigurationsoptionen. Alternativ können Sie die vollständige Vite-Konfiguration als viertes Argument übergeben, wodurch sie Vorrang vor allen anderen benutzerdefinierten Optionen erhält.

Nach dem Ausführen der Tests können Sie die Ergebnisse über die API state.getTestModules abrufen:

ts
import type { TestModule } from 'vitest/node';

const vitest = await startVitest('test');

console.log(vitest.state.getTestModules()); // [TestModule]

TIP

Der Leitfaden "Tests ausführen" bietet ein Anwendungsbeispiel.

createVitest ​

ts
function createVitest(
  mode: VitestRunMode,
  options: CliOptions,
  viteOverrides: ViteUserConfig = {},
  vitestOptions: VitestOptions = {}
): Promise<Vitest>;

Sie können eine Vitest-Instanz mit der Methode createVitest erstellen. Sie gibt dieselbe Vitest-Instanz wie startVitest zurück, startet jedoch keine Tests und validiert auch keine installierten Pakete.

js
import { createVitest } from 'vitest/node';

const vitest = await createVitest('test', {
  watch: false,
});

TIP

Der Leitfaden "Tests ausführen" bietet ein Anwendungsbeispiel.

resolveConfig ​

ts
function resolveConfig(
  options: UserConfig = {},
  viteOverrides: ViteUserConfig = {}
): Promise<{
  vitestConfig: ResolvedConfig;
  viteConfig: ResolvedViteConfig;
}>;

Diese Methode löst die Konfiguration unter Verwendung benutzerdefinierter Parameter auf. Wenn keine Parameter angegeben sind, ist der root-Pfad process.cwd().

ts
import { resolveConfig } from 'vitest/node';

// vitestConfig enthält nur aufgelöste "test"-Eigenschaften
const { vitestConfig, viteConfig } = await resolveConfig({
  mode: 'custom',
  configFile: false,
  resolve: {
    conditions: ['custom'],
  },
  test: {
    setupFiles: ['/my-setup-file.js'],
    pool: 'threads',
  },
});

INFO

Aufgrund der Funktionsweise von Vites createServer muss Vitest die Konfiguration während des configResolve-Hooks des Plugins auflösen. Daher wird diese Methode intern nicht wirklich verwendet und ist ausschließlich als öffentliche API verfügbar.

Wenn Sie die Konfiguration an die APIs startVitest oder createVitest übergeben, löst Vitest die Konfiguration erneut auf.

WARNING

resolveConfig löst keine projects auf. Um Projektkonfigurationen aufzulösen, benötigt Vitest einen laufenden Vite-Server.

Beachten Sie auch, dass viteConfig.test nicht vollständig aufgelöst wird. Wenn Sie die Vitest-Konfiguration benötigen, verwenden Sie stattdessen vitestConfig.

parseCLI ​

ts
function parseCLI(
  argv: string | string[],
  config: CliParseOptions = {}
): {
  filter: string[];
  options: CliOptions;
};

Sie können diese Methode verwenden, um CLI-Argumente zu analysieren. Sie akzeptiert einen String (wobei Argumente durch ein einzelnes Leerzeichen getrennt werden) oder ein String-Array von CLI-Argumenten im selben Format, das Vitest CLI verwendet. Sie gibt einen Filter und options zurück, die Sie später an die createVitest- oder startVitest-Methoden übergeben können.

ts
import { parseCLI } from 'vitest/node';

const result = parseCLI('vitest ./files.ts --coverage --browser=chrome');

result.options;
// {
//   coverage: { enabled: true },
//   browser: { name: 'chrome', enabled: true }
// }

result.filter;
// ['./files.ts']
Pager
Nächste SeiteVitest API

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/advanced/

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2021-Present Vitest Team