TestSpecification
Klasa TestSpecification
opisuje, który moduł ma zostać uruchomiony jako test oraz jego parametry.
Specyfikację można utworzyć wyłącznie poprzez wywołanie metody createSpecification
na obiekcie projektu testowego:
const specification = project.createSpecification(
resolve('./example.test.ts'),
[20, 40] // opcjonalne numery linii testów
);
createSpecification
oczekuje rozpoznanego identyfikatora modułu. Nie rozpoznaje automatycznie ścieżki pliku ani nie sprawdza, czy plik istnieje w systemie plików.
taskId
Identyfikator dla modułu testowego.
project
Odwołuje się do TestProject
, do którego przypisany jest moduł testowy.
moduleId
Jest to identyfikator modułu w grafie modułów Vite. Zazwyczaj jest to absolutna ścieżka pliku używająca separatora POSIX:
'C:/Users/Documents/project/example.test.ts'; // ✅
'/Users/mac/project/example.test.ts'; // ✅
'C:\\Users\\Documents\\project\\example.test.ts'; // ❌
testModule
Jest to instancja TestModule
powiązana ze specyfikacją. Jeśli test nie został jeszcze zakolejkowany, wartość ta będzie undefined
.
pool eksperymentalne
pool
, w którym zostanie uruchomiony moduł testowy.
DANGER
Możliwe jest posiadanie wielu pul w jednym projekcie testowym, korzystając z poolMatchGlob
oraz typecheck.enabled
. Oznacza to, że możliwe jest posiadanie kilku specyfikacji z tym samym moduleId
, ale różnymi pool
. W Vitest 4 projekt będzie obsługiwał tylko jedną pulę, a ta właściwość zostanie usunięta.
testLines
Jest to tablica numerów linii w kodzie źródłowym, w których zdefiniowano testy. To pole jest zdefiniowane tylko wtedy, gdy metoda createSpecification
otrzymała tablicę numerów linii.
Należy zauważyć, że jeśli w co najmniej jednej z podanych linii nie ma testu, cały zestaw testów zakończy się niepowodzeniem. Przykład poprawnej konfiguracji 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 obiekt w formacie JSON, który może być wykorzystany przez tryb przeglądarki lub Vitest UI.