Skip to content
Vitest 3
Main Navigation Průvodce & APIKonfiguraceRežim prohlížečePokročilé API
3.2.0
2.1.9
1.6.1
0.34.6

čeština

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

čeština

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

Vzhled

Sidebar Navigation

API

Node API

Rozšířené API

Vitest API

TestProject

TestSpecification

Test Task API

TestCase

TestSuite

TestModule

TestCollection

Plugin API

Runner API

Reportéry

Metadata úloh

Průvodce

Spouštění testů

Rozšíření reportérů

Vlastní pool

Konfigurace Vitestu

Testovací reference API

Na této stránce

Rozšířené API ​

WARNING

Tato příručka popisuje pokročilá API pro spouštění testů pomocí skriptu Node.js. Pokud chcete pouze spouštět testy, pravděpodobně je nebudete potřebovat. Používají je především autoři knihoven.

Můžete importovat jakoukoli metodu z vstupního bodu vitest/node.

startVitest ​

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

Testy Vitest můžete začít spouštět pomocí jeho Node API:

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

const vitest = await startVitest('test');

await vitest.close();

Funkce startVitest vrátí instanci Vitest, pokud se testy podaří spustit.

Pokud není povolen režim sledování (watch mode), Vitest automaticky zavolá metodu close.

Pokud je režim sledování povolen a terminál podporuje TTY, Vitest zaregistruje klávesové zkratky pro konzoli.

Jako druhý argument můžete předat seznam filtrů. Vitest spustí pouze ty testy, jejichž cesta k souboru obsahuje alespoň jeden z předaných řetězců.

Dále můžete použít třetí argument k předání argumentů CLI, které přebijí jakékoli možnosti konfigurace testu. Alternativně můžete jako čtvrtý argument předat kompletní konfiguraci Vite, která bude mít přednost před jakýmikoli jinými uživatelsky definovanými možnostmi.

Po spuštění testů můžete získat výsledky z API state.getTestModules:

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

const vitest = await startVitest('test');

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

TIP

Příručka "Spouštění testů" obsahuje příklad použití.

createVitest ​

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

Instanci Vitest můžete vytvořit pomocí funkce createVitest. Vrací stejnou instanci Vitest jako startVitest, ale nespouští testy a neověřuje nainstalované balíčky.

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

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

TIP

Příručka "Spouštění testů" obsahuje příklad použití.

resolveConfig ​

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

Tato metoda slouží k vyřešení konfigurace s vlastními parametry. Pokud nejsou zadány žádné parametry, root bude nastaven na process.cwd().

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

// vitestConfig obsahuje pouze vyřešené vlastnosti "test"
const { vitestConfig, viteConfig } = await resolveConfig({
  mode: 'custom',
  configFile: false,
  resolve: {
    conditions: ['custom'],
  },
  test: {
    setupFiles: ['/my-setup-file.js'],
    pool: 'threads',
  },
});

INFO

Vzhledem k tomu, jak funguje createServer ve Vite, musí Vitest vyřešit konfiguraci během hooku configResolve pluginu. Proto se tato metoda ve skutečnosti interně nepoužívá a je vystavena výhradně jako veřejné API.

Pokud předáte konfiguraci do API startVitest nebo createVitest, Vitest konfiguraci znovu vyřeší.

WARNING

resolveConfig neřeší projekty. Pro vyřešení konfigurací projektů potřebuje Vitest běžící server Vite.

Také si dejte pozor, že viteConfig.test nebude plně vyřešen. Pokud potřebujete konfiguraci Vitest, použijte místo toho vitestConfig.

parseCLI ​

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

Tuto metodu můžete použít k parsování argumentů CLI. Přijímá řetězec (kde jsou argumenty odděleny jednou mezerou) nebo pole řetězců argumentů CLI ve stejném formátu, jaký používá Vitest CLI. Vrací filtr a options, které můžete později předat metodám createVitest nebo 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
Další stránkaVitest API

Vydáno pod licencí MIT.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/advanced/

Vydáno pod licencí MIT.

Copyright (c) 2021-Present Vitest Team