TestCollection
TestCollection
reprezentuje kolekcję zestawów testów i przypadków testowych najwyższego poziomu w danym zestawie lub module. Udostępnia również przydatne metody do iterowania po tej kolekcji.
INFO
Większość metod zwraca iterator zamiast tablicy, co zapewnia lepszą efektywność, jeśli nie potrzebujesz wszystkich elementów kolekcji. Jeśli wolisz pracować z tablicą, możesz rozwinąć iterator: [...children.allSuites()]
.
Zauważ również, że sama kolekcja jest iteratorem:
for (const child of module.children) {
console.log(child.type, child.name);
}
size
Liczba testów i zestawów znajdujących się bezpośrednio w kolekcji.
WARNING
Ta liczba obejmuje tylko testy i zestawy na najwyższym poziomie, nie obejmuje zagnieżdżonych zestawów i testów.
at
function at(index: number): TestCase | TestSuite | undefined;
Zwraca test lub zestaw pod określonym indeksem. Ta metoda akceptuje indeksy ujemne.
array
function array(): (TestCase | TestSuite)[];
Kolekcja w formie tablicy. Jest to przydatne, jeśli chcesz używać metod Array
takich jak map
i filter
, które nie są obsługiwane bezpośrednio przez implementację TestCollection
.
allSuites
function allSuites(): Generator<TestSuite, undefined, void>;
Zwraca wszystkie zestawy, które są częścią tej kolekcji oraz jej elementów podrzędnych (w tym zagnieżdżonych).
for (const suite of module.children.allSuites()) {
if (suite.errors().length) {
console.log('failed to collect', suite.errors());
}
}
allTests
function allTests(state?: TestState): Generator<TestCase, undefined, void>;
Zwraca wszystkie testy, które są częścią tej kolekcji oraz jej elementów podrzędnych (w tym zagnieżdżonych).
for (const test of module.children.allTests()) {
if (test.result().state === 'pending') {
console.log('test', test.fullName, 'did not finish');
}
}
Możesz przekazać wartość state
, aby filtrować testy według ich stanu.
tests
function tests(state?: TestState): Generator<TestCase, undefined, void>;
Filtruje i zwraca tylko testy znajdujące się bezpośrednio w tej kolekcji. Możesz przekazać wartość state
, aby filtrować testy według ich stanu.
suites
function suites(): Generator<TestSuite, undefined, void>;
Filtruje i zwraca tylko zestawy znajdujące się bezpośrednio w tej kolekcji.