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.