TestSpecification
Třída TestSpecification
popisuje modul, který má být spuštěn jako test, a jeho parametry.
Specifikaci lze vytvořit pouze voláním metody createSpecification
na testovacím projektu:
const specification = project.createSpecification(
resolve('./example.test.ts'),
[20, 40] // volitelné řádky testů
);
Metoda createSpecification
očekává již vyřešené ID modulu. Automaticky soubor nevyřeší ani nezkontroluje, zda existuje v souborovém systému.
taskId
Identifikátor testovacího modulu.
project
Tato reference odkazuje na TestProject
, ke kterému testovací modul patří.
moduleId
ID modulu v grafu modulů Vite. Obvykle se jedná o absolutní cestu k souboru s použitím oddělovače POSIX:
'C:/Users/Documents/project/example.test.ts'; // ✅
'/Users/mac/project/example.test.ts'; // ✅
'C:\\Users\\Documents\\project\\example.test.ts'; // ❌
testModule
Instance TestModule
přidružená ke specifikaci. Pokud test ještě nebyl zařazen do fronty testů, bude hodnota undefined
.
pool experimentální
pool
, ve kterém se testovací modul spustí.
DANGER
Je možné mít více poolů v jednom testovacím projektu pomocí poolMatchGlob
a typecheck.enabled
. To znamená, že je možné mít několik specifikací se stejným moduleId
, ale jiným pool
. Ve Vitest 4 bude projekt podporovat pouze jeden pool a tato vlastnost bude odstraněna.
testLines
Toto je pole čísel řádků ve zdrojovém kódu, kde jsou definovány testy. Toto pole je definováno pouze v případě, že metoda createSpecification
obdržela pole řádků.
Všimněte si, že pokud na alespoň jednom z uvedených řádků není žádný test, celá sada selže. Příklad správné konfigurace testLines
:
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;
toJSON
generuje objekt kompatibilní s JSON, který může být použit režimem prohlížeče (Browser Mode) nebo Vitest UI.