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.