TestCollection
TestCollection
representa uma coleção de suites e testes de nível superior dentro de uma suite ou um módulo. Ele também oferece métodos úteis para iteração.
INFO
A maioria dos métodos retorna um iterador em vez de um array para melhor desempenho, caso você não precise de todos os itens da coleção. Se você preferir trabalhar com um array, pode desestruturar o iterador: [...children.allSuites()]
.
Observe também que a própria coleção é um iterador:
for (const child of module.children) {
console.log(child.type, child.name);
}
size
O número de testes e suites na coleção.
WARNING
Este número inclui apenas testes e suites de nível superior, e não suites e testes aninhados.
at
function at(index: number): TestCase | TestSuite | undefined;
Retorna o teste ou suite em um índice específico. Este método aceita índices negativos.
array
function array(): (TestCase | TestSuite)[];
A mesma coleção, porém como um array. Isso é útil se você quiser usar métodos de Array
como map
e filter
, que não são suportados pela implementação de TestCollection
.
allSuites
function allSuites(): Generator<TestSuite, undefined, void>;
Filtra todas as suites que pertencem a esta coleção e seus elementos filhos.
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 todos os testes que pertencem a esta coleção e seus elementos filhos.
for (const test of module.children.allTests()) {
if (test.result().state === 'pending') {
console.log('test', test.fullName, 'did not finish');
}
}
Você pode fornecer um valor state
para filtrar testes por estado.
tests
function tests(state?: TestState): Generator<TestCase, undefined, void>;
Filtra somente os testes pertencentes a esta coleção. Você pode fornecer um valor state
para filtrar testes por estado.
suites
function suites(): Generator<TestSuite, undefined, void>;
Filtra apenas as suites que fazem parte desta coleção.