Skip to content
Vitest 2
Main Navigation ÚtmutatóAPIKonfigurációBöngésző módHaladó
2.1.9
1.6.1
0.34.6

magyar

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

magyar

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

Megjelenés

Sidebar Navigation

Node API

Tesztfuttató

Feladat Metaadatok

Jelentéskészítők kiterjesztése

Egyéni Készlet

Ezen az oldalon

Node API ​

WARNING

A Vitest kísérleti, nem nyilvános API-t tesz elérhetővé. A nem visszamenőlegesen kompatibilis változások nem feltétlenül követik a SemVer szabályait, ezért használatkor rögzítse a Vitest verzióját.

startVitest ​

A Vitest teszteket a Node API segítségével indíthatja el:

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

const vitest = await startVitest('test');

await vitest?.close();

A startVitest függvény egy Vitest példányt ad vissza, amennyiben a tesztek elindíthatóak. undefined értékkel tér vissza, ha az alábbi feltételek bármelyike teljesül:

  • A Vitest nem találta a vite csomagot (általában a Vitest-tel együtt települ).
  • Ha a kódlefedettség engedélyezve van, és a futtatási mód "test", de a kódlefedettség csomag nincs telepítve (@vitest/coverage-v8 vagy @vitest/coverage-istanbul).
  • Ha a környezeti csomag nincs telepítve (jsdom/happy-dom/@edge-runtime/vm).

Ha undefined értéket ad vissza, vagy a tesztek sikertelenek a futtatás során, a Vitest a process.exitCode értékét 1-re állítja.

Ha a figyelő mód nincs engedélyezve, a Vitest meghívja a close metódust.

Amennyiben a figyelő mód engedélyezve van, és a terminál támogatja a TTY-t, a Vitest regisztrálja a konzol parancsikonjait.

A szűrők listáját a második argumentumként adhatja át. A Vitest csak azokat a teszteket futtatja, amelyek fájlútvonalában legalább egyezés van az átadott karakterláncok közül.

Ezenkívül a harmadik argumentummal átadhat CLI argumentumokat, amelyek felülírhatják a tesztkonfigurációs beállításokat.

Alternatívaként a teljes Vite konfigurációt is átadhatja negyedik argumentumként, amely elsőbbséget élvez minden más felhasználó által definiált beállítással szemben.

A tesztek futtatása után az eredményeket a state.getFiles API-ból kaphatja meg:

ts
const vitest = await startVitest('test');

console.log(vitest.state.getFiles()); // [{ type: 'file', ... }]

A Vitest 2.1-es verziója óta ajánlott a "Jelentett feladatok" API használata a state.getFiles API mellett. A jövőben a Vitest ezeket az objektumokat közvetlenül adja vissza:

ts
const vitest = await startVitest('test');

const [fileTask] = vitest.state.getFiles();
const testFile = vitest.state.getReportedEntity(fileTask);

createVitest ​

A createVitest függvénnyel saját maga hozhat létre Vitest példányt. Ugyanazt a Vitest példányt adja vissza, mint a startVitest, de nem indítja el a teszteket, és nem ellenőrzi a telepített csomagok meglétét.

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

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

parseCLI ​

Ezzel a módszerrel elemezheti a CLI argumentumokat. Elfogad egy karakterláncot (ahol az argumentumokat egyetlen szóköz választja el) vagy egy karakterlánc tömböt a CLI argumentumokból, ugyanabban a formátumban, amelyet a Vitest CLI használ. Egy szűrőt és options beállításokat ad vissza, amelyeket később átadhat a createVitest vagy a startVitest metódusoknak.

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

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

Vitest ​

A Vitest példány számára szükséges az aktuális teszt mód megadása. Ez lehet:

  • test: a futásidejű tesztek futtatásakor
  • benchmark: a benchmark tesztek futtatásakor

mode ​

test ​

A teszt mód csak a test vagy it belsejében lévő függvényeket hívja meg, és hibát dob, ha bench függvényt talál. Ez a mód a konfigurációban lévő include és exclude beállításokat használja a tesztfájlok megkereséséhez.

benchmark ​

A benchmark mód a bench függvényeket hívja meg, és hibát dob, ha test vagy it függvényt talál. Ez a mód a konfigurációban lévő benchmark.include és benchmark.exclude beállításokat használja a benchmark fájlok megkereséséhez.

start ​

A start metódussal indíthatja el a teszteket vagy a benchmark teszteket. A tesztfájlok szűréséhez átadhat egy karakterlánc tömböt.

provide ​

A Vitest elérhetővé teszi a provide metódust, amely a vitest.getCoreWorkspaceProject().provide metódus rövidítése. Ezzel a módszerrel értékeket adhat át a fő szálról a tesztekbe. A structuredClone minden értéket ellenőriz, mielőtt tárolásra kerülne, de maguk az értékek nem kerülnek klónozásra.

Az értékek fogadásához a tesztben importálnia kell az inject metódust a vitest belépési pontjára:

ts
import { inject } from 'vitest';
const port = inject('wsPort'); // 3000

A nagyobb típusbiztonság érdekében javasoljuk a ProvidedContext típusának bővítését:

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

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

declare module 'vitest' {
  export interface ProvidedContext {
    wsPort: number;
  }
}

WARNING

Technikailag a provide a WorkspaceProject metódusa, ezért az a projektre korlátozódik. Azonban minden projekt örökli az értékeket a központi projektből, ezáltal a vitest.provide metódus egy univerzális módszer az értékek tesztekbe való átadására.

TIP

Ez a módszer a globális beállítási fájlokban is elérhető abban az esetben, ha nem kívánja a nyilvános API-t használni:

js
export default function setup({ provide }) {
  provide('wsPort', 3000);
}
Pager
Következő oldalTesztfuttató

A MIT licenc alapján kiadva.

Copyright (c) 2024 Mithril Contributors

https://v2.vitest.dev/advanced/api

A MIT licenc alapján kiadva.

Copyright (c) 2024 Mithril Contributors