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)[];
同じコレクションを配列として取得します。これは、TestCollection
の実装ではサポートされていない map
や filter
といった Array
メソッドを使用したい場合に便利です。
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>;
このコレクションに含まれるトップレベルのスイートのみを抽出します。