web-dev-qa-db-ja.com

単一のテストファイルを実行する

テストスイート全体ではなく、単一のファイルに対してng testを実行する方法はありますか?理想的には、ファイルを編集しているときに可能な限り迅速なフィードバックループを取得したいのですが、karmaは各保存でスイート全体を実行します。


これは angular-cliで1つのテスト仕様のみを実行する方法 とは異なり、その質問は個々の仕様の実行に関するものです。これは、個々のファイルを実行することです。ソリューションには同じJasmine仕様機能が含まれますが、質問の性質はわずかに異なります。

83
Elliot Larson

Jasmineを使用すると、describeおよびitメソッドの前にfを付けることができます(フォーカス用?)。したがって、fdescribeおよびfitです。これらのいずれかを使用する場合、karmaは関連するテストのみを実行します。したがって、現在のファイルにフォーカスするには、トップレベルのdescribeを取得して、それをfdescribeに変更するだけです。私の目的のために動作します。

181
Elliot Larson

xdescribeおよびxitによるコメントなしで特定のテストを無効にできることに言及する価値があります。

xdescribe('Hello world', () => { 
  xit('says hello', () => { 
    expect(helloWorld())
        .toEqual('Hello world!');
  });
});

そして、誰かがすでにいくつかのテストに集中したいなら、fdescribefitが言ったように

fdescribe('Hello world', () => { 
  fit('says hello', () => { 
    expect(helloWorld())
        .toEqual('Hello world!');
  });
});
10
DiPix

npm run test file.component.spec.tsを使用すると、angular 7バージョンで動作します。

2
Niraj