如何在获得代码覆盖率的同时排除规范文件[Angular] 。

问题描述 投票:1回答:1

我想把我的angular项目的代码覆盖率。我对这些工具不是很熟悉。我决定使用 "istanbul-instrumenter-loader": "^3.0.1". 我试着从这个问题中得到帮助。

  1. angular cli exclude filesdirectory for ng test--code-coverage
  2. 不匹配spec.ts和spec.tsx的Regex,但应该匹配任何其他.ts和.tsx。

还有很多其他的解决方法都在同一个帖子里给出了。我的问题是,我想排除我为单元测试而写的规范文件。下面是我得到的截图。截图.请指正我的错误,如有遗漏,请随时询问。

angular karma-jasmine code-coverage istanbul angular-testing
1个回答
1
投票

要排除代码覆盖,你不应该只是需要指定 spec 文件,如 ["src/app/user-card/user-card.component.spec.ts"]

"test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.spec.json",
            "karmaConfig": "src/karma.conf.js",
            "codeCoverageExclude": ["src/app/user-card/user-card.component.spec.ts"],
            "styles": [
              "src/styles.scss"
            ],
            "scripts": [],
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ]
          }
        },

而是整个 ts 文件夹的文件,可用于生成覆盖率报告。(service , component 等)。) 因此,尽量使用 **.ts 如下图所示

        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.spec.json",
            "karmaConfig": "src/karma.conf.js",
            "codeCoverageExclude": ["src/app/user-card/**.ts"],
            "styles": [
              "src/styles.scss"
            ],
            "scripts": [],
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ]
          }
        },

看看这个帖子 哪儿 mock 文件不在覆盖范围之内

© www.soinside.com 2019 - 2024. All rights reserved.