TestSpecification
A TestSpecification
osztály azt írja le, hogy melyik modult kell tesztként futtatni, és milyen paraméterekkel.
Specifikációt kizárólag a createSpecification
metódus meghívásával hozhat létre egy tesztprojektben:
const specification = project.createSpecification(
resolve('./example.test.ts'),
[20, 40] // opcionális tesztsorszámok
);
A createSpecification
feloldott modulazonosítót vár el. Nem oldja fel automatikusan a fájlt, és nem ellenőrzi annak létezését a fájlrendszeren.
taskId
A tesztmodul azonosítója.
project
Ez a TestProject
referenciája, amelyhez a tesztmodul tartozik.
moduleId
A modul azonosítója a Vite modulgráfjában. Általában abszolút fájlútvonalat használ POSIX-kompatibilis elválasztóval:
'C:/Users/Documents/project/example.test.ts'; // ✅
'/Users/mac/project/example.test.ts'; // ✅
'C:\\Users\\Documents\\project\\example.test.ts'; // ❌
testModule
A specifikációhoz társított TestModule
példánya. Ha a teszt még nem került ütemezésre, akkor értéke undefined
lesz.
pool kísérleti
Az a pool
, amelyben a tesztmodul futni fog.
DANGER
Lehetséges, hogy egyetlen tesztprojektben több pool is legyen a poolMatchGlob
és a typecheck.enabled
beállítások használatával. Ez azt jelenti, hogy több specifikáció is létezhet ugyanazzal a moduleId
-vel, de különböző pool
-lal. A Vitest 4-ben a projekt csak egyetlen poolt fog támogatni, és ez a tulajdonság eltávolításra kerül.
testLines
Ez egy tömb a forráskódban lévő sorokról, ahol a tesztek definiálva vannak. Ez a mező csak akkor van definiálva, ha a createSpecification
metódus tömböt kapott.
Fontos, hogy ha legalább az egyik megadott soron nincs teszt, az egész tesztcsomag megbukik. Egy példa a helyes testLines
konfigurációra:
const specification = project.createSpecification(
resolve('./example.test.ts'),
[3, 8, 9]
);
import { test, describe } from 'vitest'
test('verification works')
describe('a group of tests', () => {
// ...
test('nested test')
test.skip('skipped test')
})
toJSON
function toJSON(): SerializedTestSpecification;
A toJSON
egy JSON-kompatibilis objektumot generál, amelyet a Böngésző mód vagy a Vitest UI felhasználhat.