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

TestCase ​

A TestCase osztály egyetlen tesztet reprezentál. Ez az osztály kizárólag a fő szálon érhető el. Ha futásidejű feladatokkal dolgozik, tekintse meg a "Runner API" dokumentációját.

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

ts
if (task.type === 'test') {
  task; // TestCase
}

project ​

Ez a TestProject objektumra mutat, amelyhez a teszt tartozik.

module ​

Ez egy közvetlen hivatkozás arra a TestModule-ra, ahol a teszt definiálva van.

name ​

Ez a teszt neve, amelyet a test függvénynek átadtak.

ts
import { test } from 'vitest';

// [!code word:'a validáció helyesen működik']
test('the validation works correctly', () => {
  // ...
});

fullName ​

A teszt teljes neve, beleértve az összes szülő tesztcsomagot, > szimbólummal elválasztva. Ennek a tesztnek a teljes neve "a validációs logika > a validáció helyesen működik":

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

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

id ​

Ez a teszt egyedi azonosítója. Ez az azonosító determinisztikus, és ugyanaz marad ugyanazon teszt számára több futtatás során is. Az azonosító a projekt nevén, a modul azonosítóján és a teszt sorrendjén alapul.

Az azonosító formátuma a következő:

1223128da3_0_0
^^^^^^^^^^ a fájl hash
           ^ csomag index
             ^ teszt index

TIP

Fájl hash-t generálhat a vitest/node generateFileHash függvényével, amely a Vitest 3-tól kezdve 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 elemezni az azonosítót. Kezdődhet mínusz jellel is: -1223128da3_0_0_0.

location ​

A modulon belüli hely, ahol a tesztet definiálták. A helyek csak akkor kerülnek gyűjtésre, ha a includeTaskLocation engedélyezve van a konfigurációban. Megjegyzendő, hogy ez az opció automatikusan engedélyezve van, ha a --reporter=html, --ui vagy --browser jelzőket használják.

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

ts
import { test } from 'vitest'

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

parent ​

Szülő tesztcsomag. Ha a tesztet közvetlenül a modulon belül hívták meg, 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 tesztet összegyűjtötték.

ok ​

ts
function ok(): boolean;

Ellenőrzi, hogy a teszt nem okozott-e hibát a tesztcsomagban. Ha a teszt még nem fejeződött be, vagy kihagyták, true értéket ad vissza.

meta ​

ts
function meta(): TaskMeta;

Egyéni metaadatok, amelyek a teszthez csatolásra kerültek a végrehajtás során. A metaadatok a ctx.task.meta objektum egy tulajdonságának hozzárendelésével csatolhatók egy tesztfutás során:

ts
import { test } from 'vitest';

test('the validation works correctly', ({ task }) => {
  // ...

  task.meta.decorated = false;
});

Ha a teszt még nem fejeződött be, a metaadatok egy üres objektum lesz.

result ​

ts
function result(): TestResult;

A teszt eredményei. Ha a teszt még nem fejeződött be, vagy csak gyűjtésre került, akkor TestResultPending értékkel lesz egyenlő:

ts
export interface TestResultPending {
  /**
   * A tesztet összegyűjtötték, de még nem fejeződött be a futása.
   */
  readonly state: 'pending';
  /**
   * A folyamatban lévő teszteknek nincs hibájuk.
   */
  readonly errors: undefined;
}

Ha a tesztet kihagyták, a visszatérési érték TestResultSkipped lesz:

ts
interface TestResultSkipped {
  /**
   * A tesztet kihagyták a `skip` vagy `todo` jelzővel.
   * Az `options.mode` opcióban láthatja, melyiket használták.
   */
  readonly state: 'skipped';
  /**
   * Az átugrott teszteknek nincs hibájuk.
   */
  readonly errors: undefined;
  /**
   * Egy egyéni megjegyzés, amelyet a `ctx.skip(note)`-nak átadtak.
   */
  readonly note: string | undefined;
}

TIP

Ha a tesztet azért hagyták ki, mert egy másik tesztnek only jelzője van, az options.mode értéke skip lesz.

Ha a teszt sikertelen volt, a visszatérési érték TestResultFailed lesz:

ts
interface TestResultFailed {
  /**
   * A teszt végrehajtása meghiúsult.
   */
  readonly state: 'failed';
  /**
   * A teszt végrehajtása során fellépő hibák.
   */
  readonly errors: ReadonlyArray<TestError>;
}

Ha a teszt sikeres volt, a visszatérési érték TestResultPassed lesz:

ts
interface TestResultPassed {
  /**
   * A teszt sikeresen lefutott.
   */
  readonly state: 'passed';
  /**
   * A teszt végrehajtása során fellépő hibák, vagy `undefined`.
   */
  readonly errors: ReadonlyArray<TestError> | undefined;
}

WARNING

Vegye figyelembe, hogy a passed állapotú tesztnek még lehetnek hozzárendelt hibái – ez akkor fordulhat elő, ha a retry legalább egyszer aktiválódott.

diagnostic ​

ts
function diagnostic(): TestDiagnostic | undefined;

Hasznos információk a tesztről, például a futási idő, memóriahasználat stb.:

ts
interface TestDiagnostic {
  /**
   * Igaz, ha a teszt futási ideje meghaladja a `slowTestThreshold` értéket.
   */
  readonly slow: boolean;
  /**
   * A teszt által felhasznált memória mennyisége bájtban.
   * Ez az érték csak akkor érhető el, ha a tesztet a `logHeapUsage` jelzővel futtatták.
   */
  readonly heap: number | undefined;
  /**
   * A teszt végrehajtásához szükséges idő ms-ben.
   */
  readonly duration: number;
  /**
   * A teszt indításának időpontja ms-ben.
   */
  readonly startTime: number;
  /**
   * Ahányszor a tesztet újrapróbálták.
   */
  readonly retryCount: number;
  /**
   * Ahányszor a tesztet megismételték a `repeats` opció szerint.
   * Ez az érték alacsonyabb lehet, ha a teszt a megismétlés során sikertelen volt, és nincs konfigurálva újrapróbálkozás.
   */
  readonly repeatCount: number;
  /**
   * Igaz, ha a teszt egy második újrapróbálkozásra sikeres volt.
   */
  readonly flaky: boolean;
}

INFO

A diagnostic() undefined értéket ad vissza, ha a tesztet még nem ütemezték be futtatásra.

Pager
Előző oldalTestSpecification
Következő oldalTestSuite

A MIT licenc alapján kiadva.

Copyright (c) 2021-Present Vitest Team

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

A MIT licenc alapján kiadva.

Copyright (c) 2021-Present Vitest Team