Angular2 代码覆盖选项

Angular2 code coverage options

Javascript 具有以下代码覆盖率选项,例如:Istanbul、Karma、Blanket.js 和 JSCover.But 这些工具在 Angular2 中的支持情况如何? 我们知道 Angular2 可以实现 Istanbul,但是其他覆盖工具呢。

这个link清楚地解释了基于打字稿的代码覆盖率:-https://www.sitepen.com/blog/2015/09/29/code-coverage-for-typescript-and-other-transpiled-languages/

Angular CLI 使用内置的 Istanbul 创建项目。您 运行 ng test --code-coverage 生成 lcov 文件,并且您可以访问项目中的 karma 配置以根据需要自定义集成。

例如,在我的项目中,在文件 karma.conf.js 中,我有这样的东西:

    coverageIstanbulReporter: {
      dir: '../reports/jsCoverage',
      reports: [ 'html', 'lcovonly' ],
      fixWebpackSourcePaths: true
    },
    ...
    reporters: config.angularCli && config.angularCli.codeCoverage
              ? ['progress', 'coverage-istanbul']
              : ['progress', 'kjhtml'],

更新:

在最新版本的 Angular CLI 中(不确定从什么时候开始,但在 v 1.2+ 中肯定,甚至可能是 1.1),您的 karma 配置甚至没有上面的 reporter 部分. CLI 根据需要自行添加 coverage-istanbul