1. ホーム
  2. アンギュラー

[解決済み】1つのテストファイルを実行する

2022-04-10 16:19:13

質問

を実行する方法はありますか? ng test をテストスイート全体ではなく、1つのファイルに対して使用することはできますか? 理想を言えば、ファイルを編集しているときに、できるだけ早くフィードバックループを得たいのですが、しかし karma は保存するたびにスイート全体を実行するので、十分に大きなテストスイートを構築するときには少し遅いです。


とは異なります。 angular-cliでテストスペックを1つだけ実行する方法 この質問は、個々のスペックを実行することに関するものです。 これは個々のファイルの実行についてです。 解決策には同じJasmineのspec機能が含まれますが、質問の性質は少し異なります。

解決方法は?

私は、Jasmineでプレフィックスとして describeit メソッドに f (フォーカスのため)です。 fdescribefit . このどちらかを使用する場合 カルマ は関連するテストのみを実行します。 現在のファイルにフォーカスを当てるには、単にトップレベルの describe に変更し、それを fdescribe . バージョン2.1より前のJasmineを使用している場合、フォーカシングキーワードは iitddescribe .

このサンプルコードでは、最初のテストだけを実行します。

// Jasmine versions >/=2.1 use 'fdescribe'; versions <2.1 use 'ddescribe'
fdescribe('MySpec1', function () {
    it('should do something', function () {
        // ...
    });
});

describe('MyOtherSpec', function () {
    it('should do something else', function () {
        // ...
    });
});

これ は、Focusing Specsに関するJasmineのドキュメント、そして こちら は、関連するSOの記事で、さらに思慮深い解決策を提供しています。