TestCollection
TestCollection
rappresenta una collezione di suite e test di primo livello all'interno di una suite o di un modulo. Fornisce inoltre metodi utili per iterare attraverso i suoi elementi.
INFO
La maggior parte dei metodi restituisce un iteratore anziché un array per migliorare le prestazioni, nel caso in cui non siano necessari tutti gli elementi della collezione. Se si preferisce lavorare con un array, è possibile espandere l'iteratore: [...children.allSuites()]
.
Si noti che la collezione stessa funge da iteratore:
for (const child of module.children) {
console.log(child.type, child.name);
}
size
Il numero di test e suite presenti nella collezione.
WARNING
Questo numero include solo test e suite di primo livello, escludendo suite e test annidati.
at
function at(index: number): TestCase | TestSuite | undefined;
Restituisce il test o la suite all'indice specificato. Questo metodo accetta anche indici negativi.
array
function array(): (TestCase | TestSuite)[];
La stessa collezione, ma sotto forma di array. Questo è utile se si desidera utilizzare metodi di Array
come map
e filter
che non sono supportati dall'implementazione di TaskCollection
.
allSuites
function allSuites(): Generator<TestSuite, undefined, void>;
Filtra tutte le suite che fanno parte di questa collezione e dei suoi elementi figli (anche annidati).
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>;
Filtra tutti i test che fanno parte di questa collezione e dei suoi elementi figli (anche annidati).
for (const test of module.children.allTests()) {
if (test.result().state === 'pending') {
console.log('test', test.fullName, 'did not finish');
}
}
È possibile specificare un valore state
per filtrare i test in base al loro stato.
tests
function tests(state?: TestState): Generator<TestCase, undefined, void>;
Filtra solo i test che fanno parte di questa collezione (di primo livello). È possibile specificare un valore state
per filtrare i test in base al loro stato.
suites
function suites(): Generator<TestSuite, undefined, void>;
Filtra solo le suite che fanno parte di questa collezione (di primo livello).