web-dev-qa-db-ja.com

angular cli `ng test --code-coverage`の除外ファイル/ディレクトリ

ユニットテストとコードコードカバレッジレポートの生成に次のコマンドを実行しています。

ng test --code-coverage

正常に動作しており、coverageフォルダーにコードカバレッジレポートを書き込んでいます。

これで、すべてのファイルとディレクトリカバレッジレポートを取得しました

enter image description here

しかし、特定のファイル/ディレクトリを除外したいのですが、src/app/quote/services/generated。どうやってするか?

19

2019年9月更新

angular cli 6では、angular-cli.jsonは設定を含むangular.jsonに名前が変更されました。angular.jsonでは、codeCoverageはブール値を期待します。すべてのテスト実行でコードカバレッジを実行するかどうかを設定します。コードカバレッジからファイルを除外するには、コードカバレッジから除外するファイルの配列を受け入れるプロパティcodeCoverageExcludeがあります。

angular.json

"test": {
  "codeCoverageExclude": ["src/assets/vendor/**"],,
  ...
}

回答を更新しました

rc.0がリリースされました。ファイルを無視するには、以下のコードスニペットを追加できるはずです。

元の答え

現在、beta.32.3ではこれを行うことはできません。これを可能にする変更が行われています。次のリリース(おそらくrc.0)では、次のことができるようになります。

.angular-cli.json

"test": {
  "codeCoverage": {
    "exclude": [
      "src/app/quote/services/generated/**/*"
    ]
  },
  ...
}
25
delasteve

Angular.json内の最新のCLI

  "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.spec.json",
            "karmaConfig": "./karma.conf.js",
            "codeCoverageExclude": ["src/testing/**/*"],
41
Greg