TestCollection
TestCollection
repräsentiert eine Sammlung von Suites und Tests auf der obersten Ebene innerhalb einer Suite oder eines Moduls. Sie bietet auch nützliche Methoden zur Iteration über ihre Elemente.
INFO
Die meisten Methoden geben einen Iterator anstelle eines Arrays zurück, um die Performance zu verbessern, falls nicht jedes Element in der Sammlung benötigt wird. Wenn Sie lieber mit Arrays arbeiten möchten, können Sie den Iterator in ein Array umwandeln: [...children.allSuites()]
.
Beachten Sie auch, dass die Sammlung selbst ein Iterator ist:
for (const child of module.children) {
console.log(child.type, child.name);
}
size
Die Anzahl der Tests und Suiten in der Sammlung.
WARNING
Diese Zahl umfasst nur Tests und Suiten auf der obersten Ebene; verschachtelte Suiten und Tests sind nicht enthalten.
at
function at(index: number): TestCase | TestSuite | undefined;
Diese Methode gibt den Test oder die Suite an einem bestimmten Index zurück. Negative Indizes werden unterstützt.
array
function array(): (TestCase | TestSuite)[];
Diese Methode gibt dieselbe Sammlung als Array zurück. Dies ist nützlich, wenn Sie Array
-Methoden wie map
und filter
verwenden möchten, die von der TestCollection
-Implementierung nicht direkt unterstützt werden.
allSuites
function allSuites(): Generator<TestSuite, undefined, void>;
Diese Methode filtert alle Suiten, die Teil dieser Sammlung und ihrer untergeordneten Elemente sind.
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>;
Diese Methode filtert alle Tests, die Teil dieser Sammlung und ihrer untergeordneten Elemente sind.
for (const test of module.children.allTests()) {
if (test.result().state === 'pending') {
console.log('test', test.fullName, 'did not finish');
}
}
Sie können einen state
-Wert übergeben, um Tests nach ihrem Zustand zu filtern.
tests
function tests(state?: TestState): Generator<TestCase, undefined, void>;
Diese Methode filtert nur die Tests, die direkt Teil dieser Sammlung sind. Sie können einen state
-Wert übergeben, um Tests nach ihrem Zustand zu filtern.
suites
function suites(): Generator<TestSuite, undefined, void>;
Diese Methode filtert nur die Suiten, die direkt Teil dieser Sammlung sind.