TestModule
A TestModule
osztály egyetlen modult képvisel egy projektben. Ez az osztály kizárólag a fő szálban érhető el. Ha futásidejű feladatokkal dolgozik, tekintse meg a "Futtató API" dokumentációt.
A TestModule
példánynak mindig van egy type
tulajdonsága module
értékkel. Ezt használhatja a különböző feladattípusok megkülönböztetésére:
if (task.type === 'module') {
task; // TestModule
}
Tesztcsomag metódusok kiterjesztése
A TestModule
osztály örökli a TestSuite
osztály összes metódusát és tulajdonságát. Ez az útmutató kizárólag a TestModule
egyedi metódusait és tulajdonságait sorolja fel.
moduleId
Ez általában egy abszolút Unix fájlútvonal (még Windows alatt is). Virtuális azonosító is lehet, ha a fájl nem található a lemezen. Ez az érték a Vite ModuleGraph
azonosítójának felel meg.
'C:/Users/Documents/project/example.test.ts'; // ✅
'/Users/mac/project/example.test.ts'; // ✅
'C:\\Users\\Documents\\project\\example.test.ts'; // ❌
state
function state(): TestModuleState;
Ugyanúgy működik, mint a testSuite.state()
, de queued
értéket is visszaadhat, ha a modul még nem futott le.
meta 3.1.0+
function meta(): TaskMeta;
Egyedi metaadatok, amelyek a modulhoz csatolódnak a végrehajtása vagy gyűjtése során. A metaadatok a task.meta
objektum egy tulajdonságának hozzárendelésével csatolhatók egy tesztfutás során:
import { test } from 'vitest';
describe('the validation works correctly', task => {
// "decorated" hozzárendelése a gyűjtés során
task.file.meta.decorated = false;
test('some test', ({ task }) => {
// "decorated" hozzárendelése a tesztfutás során, ez csak
// az onTestCaseReady hookban lesz elérhető
task.file.meta.decorated = false;
});
});
TIP
Ha a metaadatok a gyűjtés során (a test
függvényen kívül) csatolódtak, akkor azok elérhetők lesznek az egyéni riportoló onTestModuleCollected
hookjában.
diagnostic
function diagnostic(): ModuleDiagnostic;
Hasznos információk a modulról, például a futási idő, memóriahasználat stb. Ha a modul még nem futott le, minden diagnosztikai érték 0
lesz.
interface ModuleDiagnostic {
/**
* Az importálás és a környezet inicializálásának időtartama.
*/
readonly environmentSetupDuration: number;
/**
* A Vitest által a tesztkörnyezet (futtató, mockok stb.) beállítására fordított idő.
*/
readonly prepareDuration: number;
/**
* A tesztmodul importálásának időtartama.
* Ez magában foglalja a modulban lévő összes importálást és a tesztcsomag visszahívások végrehajtását.
*/
readonly collectDuration: number;
/**
* A beállító modul importálásának időtartama.
*/
readonly setupDuration: number;
/**
* A modulban lévő összes teszt és hook összesített időtartama.
*/
readonly duration: number;
/**
* A modul által felhasznált memória mennyisége bájtban.
* Ez az érték csak akkor érhető el, ha a tesztet `logHeapUsage` flaggel hajtották végre.
*/
readonly heap: number | undefined;
/**
* Az idő, amit a Vitest által feldolgozott összes nem externalizált függőség importálása vett igénybe.
*/
readonly importDurations: Record<string, ImportDuration>;
}
/** Az idő, amit egy nem externalizált fájl importálása és végrehajtása vett igénybe. */
interface ImportDuration {
/** Az idő, amit magának a fájlnak az importálása és végrehajtása vett igénybe, nem számítva az összes nem externalizált importot, amelyet a fájl tartalmaz. */
selfTime: number;
/** Az idő, amit a fájl és az összes importjának importálása és végrehajtása vett igénybe. */
totalTime: number;
}