TestCollection
TestCollection
представляет собой коллекцию наборов тестов и тестов верхнего уровня в модуле или наборе тестов. Она также предоставляет полезные методы для итерации по своим элементам.
INFO
Большинство методов возвращают итератор вместо массива для лучшей производительности, особенно когда не требуются все элементы коллекции. Если вы предпочитаете работать с массивом, вы можете развернуть итератор: [...children.allSuites()]
.
Обратите внимание, что сама коллекция является итератором:
for (const child of module.children) {
console.log(child.type, child.name);
}
size
Количество тестов и наборов тестов, находящихся непосредственно в этой коллекции.
WARNING
Это число включает только тесты и наборы тестов верхнего уровня, оно не включает вложенные наборы тестов и тесты.
at
function at(index: number): TestCase | TestSuite | undefined;
Возвращает тест или набор тестов по заданному индексу. Этот метод поддерживает отрицательные индексы.
array
function array(): (TestCase | TestSuite)[];
Представляет коллекцию в виде массива. Это полезно, если вы хотите использовать методы Array
, такие как map
и filter
, которые не поддерживаются напрямую в реализации TestCollection
.
allSuites
function allSuites(): Generator<TestSuite, undefined, void>;
Возвращает все наборы тестов, которые являются частью этой коллекции и её дочерних элементов (включая вложенные наборы).
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>;
Возвращает все тесты, которые являются частью этой коллекции и её дочерних элементов (включая тесты из вложенных наборов).
for (const test of module.children.allTests()) {
if (test.result().state === 'pending') {
console.log('test', test.fullName, 'did not finish');
}
}
Вы можете передать параметр state
для фильтрации тестов по их состоянию.
tests
function tests(state?: TestState): Generator<TestCase, undefined, void>;
Возвращает только тесты, которые являются непосредственными элементами этой коллекции (тесты верхнего уровня). Вы можете передать параметр state
для фильтрации тестов по состоянию.
suites
function suites(): Generator<TestSuite, undefined, void>;
Возвращает только наборы тестов, которые являются непосредственными элементами этой коллекции (наборы тестов верхнего уровня).