【问题标题】:How can I exclude all *services.ts for `ng test --code-coverage`?如何排除`ng test --code-coverage`的所有*services.ts?
【发布时间】:2019-06-16 06:04:33
【问题描述】:

在我的 Angular 6 下,我正在运行以下命令来进行单元测试并生成代码覆盖率报告:

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"],

但这没有用

建议?

【问题讨论】:

    标签: javascript angular6 karma-jasmine karma-runner karma-coverage


    【解决方案1】:

    试试这样的:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2017-07-03
        • 2018-12-05
        • 1970-01-01
        • 2021-06-13
        • 1970-01-01
        • 2020-12-21
        • 2015-01-16
        • 1970-01-01
        • 2019-09-23
        相关资源
        最近更新 更多