Skip to content
Vitest 3
Main Navigation Útmutató & APIKonfigurációBöngésző módHaladó API
3.2.0
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

API

Node API

Haladó API

Vitest API

TestProject

TestSpecification

Test Task API

TestCase

TestSuite

TestModule

TestCollection

Plugin API

Futtató API

Jelentők

Feladat metaadatok

Útmutató

Tesztfuttatás

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

Egyéni Pool

Vitest konfigurálása

Teszt API Referencia

Ezen az oldalon

TestSuite ​

A TestSuite osztály egyetlen tesztcsomagot képvisel. Ez az osztály kizárólag a főszálon érhető el. Ha futásidőben végzett feladatokkal dolgozik, tekintse meg a "Futtató API" dokumentációját.

A TestSuite példány mindig rendelkezik egy type tulajdonsággal, amelynek értéke suite. Ezt használhatja a különböző feladattípusok megkülönböztetésére:

ts
if (task.type === 'suite') {
  task; // TestSuite
}

project ​

Ez a TestProject objektumra hivatkozik, amelyhez a tesztcsomag tartozik.

module ​

Ez egy közvetlen hivatkozás arra a TestModule objektumra, amelyben a tesztcsomag definiálva van.

name ​

Ez a tesztcsomag neve, amelyet a describe függvénynek adtak meg.

ts
import { describe } from 'vitest';

// [!code word:'the validation logic']
describe('the validation logic', () => {
  // ...
});

fullName ​

A tesztcsomag teljes neve, beleértve az összes szülő tesztcsomagot, > szimbólummal elválasztva egymástól. Ennek a tesztcsomagnak a teljes neve "the validation logic > validating cities" lesz:

ts
import { describe, test } from 'vitest';

// [!code word:'the validation logic']
// [!code word:'validating cities']
describe('the validation logic', () => {
  describe('validating cities', () => {
    // ...
  });
});

id ​

Ez a tesztcsomag egyedi azonosítója. Ez az azonosító determinisztikus, és ugyanaz marad ugyanazon tesztcsomag esetén több futtatás során is. Az azonosító a projekt nevén, a modul azonosítóján és a tesztcsomag sorrendjén alapszik.

Az azonosító a következőképpen néz ki:

1223128da3_0_0_0
^^^^^^^^^^ a fájl hash-e
           ^ tesztcsomag indexe
             ^ beágyazott tesztcsomag indexe
               ^ teszt indexe

TIP

Fájl hash-t generálhat a vitest/node generateFileHash függvényével, amely a Vitest 3 verzió óta elérhető:

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

const hash = generateFileHash(
  '/file/path.js', // relatív elérési út
  undefined // a projekt neve, vagy `undefined`, ha nincs beállítva
);

DANGER

Ne próbálja meg parszolni az azonosítót. Lehet, hogy mínusz jellel kezdődik: -1223128da3_0_0_0.

location ​

A modulban az a hely, ahol a tesztcsomag definiálva lett. A helyek csak akkor kerülnek gyűjtésre, ha a konfigurációban engedélyezve van az includeTaskLocation. Vegye figyelembe, hogy ez az opció automatikusan engedélyezve van, ha a --reporter=html, --ui vagy --browser jelzőket használják.

Ennek a tesztcsomagnak a helye { line: 3, column: 1 } lesz:

ts
import { describe } from 'vitest'

describe('the validation works correctly', () => {
  // ...
})
1
2
3
4
5

parent ​

A szülő tesztcsomag. Ha a tesztcsomagot közvetlenül a modulon belül hívták, a szülő maga a modul lesz.

options ​

ts
interface TaskOptions {
  readonly each: boolean | undefined;
  readonly fails: boolean | undefined;
  readonly concurrent: boolean | undefined;
  readonly shuffle: boolean | undefined;
  readonly retry: number | undefined;
  readonly repeats: number | undefined;
  readonly mode: 'run' | 'only' | 'skip' | 'todo';
}

Az opciók, amelyekkel a tesztcsomagot összegyűjtötték.

children ​

Ez az aktuális tesztcsomagon belüli összes tesztcsomag és teszt gyűjteménye.

ts
for (const task of suite.children) {
  if (task.type === 'test') {
    console.log('test', task.fullName);
  } else {
    // a feladat egy TaskSuite
    console.log('suite', task.name);
  }
}

WARNING

Vegye figyelembe, hogy a suite.children csak az első szintű beágyazást fogja iterálni, nem fog mélyebbre hatolni. Ha az összes tesztet vagy tesztcsomagot iterálni szeretné, használja a children.allTests() vagy a children.allSuites() metódusokat. Ha mindent iterálni szeretne, használjon rekurzív függvényt:

ts
function visit(collection: TestCollection) {
  for (const task of collection) {
    if (task.type === 'suite') {
      // tesztcsomag naplózása
      visit(task.children);
    } else {
      // teszt naplózása
    }
  }
}

ok ​

ts
function ok(): boolean;

Ellenőrzi, hogy a tesztcsomag tartalmaz-e sikertelen tesztet. Ez akkor is false értéket ad vissza, ha a tesztcsomag a gyűjtés során hibát észlelt. Ebben az esetben ellenőrizze az errors() metódust a felmerült hibákért.

state ​

ts
function state(): TestSuiteState;

Ellenőrzi a tesztcsomag futási állapotát. Lehetséges visszatérési értékek:

  • pending: a tesztcsomagban lévő tesztek futása még nem fejeződött be.
  • failed: ez a tesztcsomag sikertelen teszteket tartalmaz, vagy nem sikerült a gyűjtésük. Ha az errors() nem üres, az azt jelenti, hogy a tesztcsomag nem tudta a teszteket összegyűjteni.
  • passed: a tesztcsomagon belüli minden teszt sikeresen lefutott.
  • skipped: ez a tesztcsomag kihagyásra került a gyűjtés során.

WARNING

Vegye figyelembe, hogy a tesztmodul is rendelkezik egy state metódussal, amely ugyanazokat az értékeket adja vissza, de egy további queued állapotot is visszaadhat, ha a modul még nem került végrehajtásra.

errors ​

ts
function errors(): TestError[];

A teszt futtatásán kívül, a gyűjtés során felmerült hibák, például szintaktikai hibák.

ts
import { describe } from 'vitest';

describe('collection failed', () => {
  throw new Error('a custom error');
});

WARNING

Vegye figyelembe, hogy a hibák egyszerű objektumokká vannak szerializálva: az instanceof Error mindig false értéket ad vissza.

meta 3.1.0+ ​

ts
function meta(): TaskMeta;

Egyéni metaadatok, amelyek a tesztcsomaghoz lettek csatolva a végrehajtása vagy gyűjtése során. A metaadatok a task.meta objektumhoz való tulajdonság hozzárendelésével csatolhatók a teszt futtatása során:

ts
import { test } from 'vitest';

describe('the validation works correctly', task => {
  // A "decorated" hozzárendelése a gyűjtés során
  task.meta.decorated = false;

  test('some test', ({ task }) => {
    // A "decorated" hozzárendelése a teszt futtatása során,
    // csak az `onTestCaseReady` hookban lesz elérhető
    task.suite.meta.decorated = false;
  });
});

TIP

Ha a metaadatokat a gyűjtés során (a test függvényen kívül) csatolták, akkor azok elérhetők lesznek az onTestModuleCollected hookban az egyéni riporterben.

Pager
Előző oldalTestCase
Következő oldalTestModule

A MIT licenc alapján kiadva.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/advanced/api/test-suite

A MIT licenc alapján kiadva.

Copyright (c) 2021-Present Vitest Team