Skip to content
Vitest 3
Main Navigation Przewodnik & APIKonfiguracjaTryb przeglądarkiZaawansowane API
3.2.0
2.1.9
1.6.1
0.34.6

Polski

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

Polski

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

Wygląd

Sidebar Navigation

API

Node API

Zaawansowane API

Vitest API

TestProject

TestSpecification

Test Task API

TestCase

TestSuite

TestModule

TestCollection

API wtyczek

API modułu uruchamiającego

Reportery

Metadane zadań

Przewodnik

Uruchamianie testów

Rozszerzanie Reporterów

Niestandardowa pula

Konfiguracja Vitest

Dokumentacja API testowego

Na tej stronie

Zaawansowane API ​

WARNING

Ten przewodnik przedstawia zaawansowane API do uruchamiania testów przy użyciu skryptu Node.js. Jeśli chcesz po prostu uruchomić testy, prawdopodobnie nie potrzebujesz tego. Jest ono używane głównie przez autorów bibliotek.

Możesz zaimportować dowolną metodę z modułu vitest/node.

startVitest ​

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

Możesz rozpocząć uruchamianie testów Vitest za pomocą jego API Node.js:

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

const vitest = await startVitest('test');

await vitest.close();

Funkcja startVitest zwraca instancję Vitest, jeśli testy mogą być uruchomione.

Jeśli tryb obserwacji nie jest włączony, Vitest automatycznie wywoła metodę close.

Jeśli tryb obserwacji jest włączony, a terminal obsługuje TTY, Vitest zarejestruje skróty klawiszowe konsoli.

Możesz przekazać listę filtrów jako drugi argument. Vitest uruchomi tylko testy, które zawierają co najmniej jeden z przekazanych ciągów znaków w ścieżce pliku.

Dodatkowo możesz użyć trzeciego argumentu, aby przekazać argumenty CLI, które nadpiszą dowolne opcje konfiguracji testów. Alternatywnie możesz przekazać pełną konfigurację Vite jako czwarty argument, która ma pierwszeństwo przed wszelkimi innymi opcjami zdefiniowanymi przez użytkownika.

Po uruchomieniu testów możesz uzyskać wyniki z API state.getTestModules:

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

const vitest = await startVitest('test');

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

TIP

Przewodnik "Uruchamianie testów" zawiera przykład użycia.

createVitest ​

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

Możesz utworzyć instancję Vitest, używając funkcji createVitest. Zwraca ona tę samą instancję Vitest co startVitest, ale nie uruchamia testów i nie waliduje zainstalowanych pakietów.

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

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

TIP

Przewodnik "Uruchamianie testów" zawiera przykład użycia.

resolveConfig ​

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

Ta metoda przetwarza konfigurację z niestandardowymi parametrami. Jeśli nie podano żadnych parametrów, root będzie równy process.cwd().

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

// vitestConfig ma tylko przetworzone właściwości "test"
const { vitestConfig, viteConfig } = await resolveConfig({
  mode: 'custom',
  configFile: false,
  resolve: {
    conditions: ['custom'],
  },
  test: {
    setupFiles: ['/my-setup-file.js'],
    pool: 'threads',
  },
});

INFO

Ze względu na sposób działania createServer w Vite, Vitest musi przetworzyć konfigurację podczas wywołania haka configResolve wtyczki. Dlatego ta metoda nie jest faktycznie używana wewnętrznie i jest dostępna wyłącznie jako publiczne API.

Jeśli przekazujesz konfigurację do API startVitest lub createVitest, Vitest ponownie przetworzy konfigurację.

WARNING

resolveConfig nie przetwarza projects. Aby przetworzyć konfiguracje projektów, Vitest potrzebuje działającego serwera Vite.

Należy również pamiętać, że viteConfig.test nie zostanie w pełni przetworzony. Jeśli potrzebujesz konfiguracji Vitest, użyj zamiast tego vitestConfig.

parseCLI ​

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

Możesz użyć tej metody do analizy argumentów CLI. Akceptuje ciąg znaków (gdzie argumenty są oddzielone pojedynczą spacją) lub tablicę ciągów znaków argumentów CLI w tym samym formacie, którego używa Vitest CLI. Zwraca filtr i options, które możesz później przekazać do metod createVitest lub startVitest.

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
Następna stronaVitest API

Opublikowano na licencji MIT.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/advanced/

Opublikowano na licencji MIT.

Copyright (c) 2021-Present Vitest Team