如何为 `ng test --code-coverage` 排除所有 *services.ts?

How can I exclude all *services.ts for `ng test --code-coverage`?

在我的Angular6下我是运行以下命令进行单元测试并生成代码代码覆盖率报告:

ng test --browsers=Chrome --watch=false --code-coverage

工作正常,正在覆盖文件夹中编写代码覆盖报告。

在此我得到了所有文件和目录覆盖率报告:

但我想排除特定类型的文件,比如说:

具有服务前缀的所有文件:*.service.ts

我在 angular.json 中告诉我这样做:

 "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/*.service.ts"],

但这没有用

建议 ?

尝试这样的事情:

"codeCoverageExclude": [
  "/**/*service*.ts"
]

在您的 Test.ts 文件中,您必须按如下方式编写:

const context = require.context('', true, /\.component.spec\.ts$/);
context.keys().map(context);