TestSpecification
La classe TestSpecification
definisce quale modulo deve essere eseguito come test e i relativi parametri.
È possibile creare una specifica solo tramite il metodo createSpecification
di un progetto di test:
const specification = project.createSpecification(
resolve('./example.test.ts'),
[20, 40] // righe di test opzionali
);
createSpecification
richiede un ID di modulo già risolto. Non risolve automaticamente il percorso del file né verifica la sua esistenza sul file system.
taskId
Identificatore del modulo di test.
project
Riferimento al TestProject
a cui appartiene il modulo di test.
moduleId
L'ID del modulo nel grafo dei moduli di Vite. Solitamente, è un percorso di file assoluto che utilizza il separatore POSIX:
'C:/Users/Documents/project/example.test.ts'; // ✅
'/Users/mac/project/example.test.ts'; // ✅
'C:\\Users\\Documents\\project\\example.test.ts'; // ❌
testModule
Istanza di TestModule
associata alla specifica. Se il test non è ancora stato messo in coda, questo sarà undefined
.
pool sperimentale
Il pool
in cui verrà eseguito il modulo di test.
DANGER
Possono esserci più pool in un singolo progetto di test con poolMatchGlob
e typecheck.enabled
. Ciò significa che è possibile avere diverse specifiche con lo stesso moduleId
ma pool
differente. In Vitest 4, il progetto supporterà solo un singolo pool e questa proprietà verrà rimossa.
testLines
Questo è un array di numeri di riga nel codice sorgente dove sono definiti i test. Questo campo è definito solo se il metodo createSpecification
ha ricevuto un array.
Si noti che se non c'è un test su almeno una delle righe specificate, l'intera suite fallirà. Un esempio di configurazione testLines
corretta:
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
genera un oggetto compatibile con JSON che può essere utilizzato dalla Modalità Browser o dall'UI di Vitest.