11

我正在使用 Karma-coverage 生成代码覆盖率。我可以在 http-server 上托管我的输出覆盖文件夹并在本地查看它。

如何使此报告在 VSTS 代码覆盖率选项卡上可见?

我是否需要重新格式化我的覆盖结果以兼容 VSTS?

我已经阅读了有关 vsts-tasks 的信息,但我不知道如何实现相同的目标。

任何帮助表示赞赏。

4

2 回答 2

16

使用 angular CLI 1.2+ 生成的 karma.conf.js 文件,就像在 istanbul 报告器中添加 cobertura 报告(而不是 lcov 报告)一样简单:

coverageIstanbulReporter: {
  reports: ['html', 'cobertura'],
  fixWebpackSourcePaths: true
}

因此,当您使用该选项运行测试时,将在coverage目录中生成--code-coverage一个名为coverage-cobertura.xml的文件。

然后在您的 TFS/VSTS 构建中,您可以添加Publish Code Coverage任务并指定 cobertura XML 文件。

于 2017-11-14T20:45:06.330 回答
8

VSTS 代码覆盖率支持以Jacoco 或 Cobertura 格式输出的代码覆盖率结果。Karma-Coverage 支持 Cobertura 格式。编辑你的 karma.config.js

业力覆盖:

coverageReporter: {
  type : 'cobertura',
  ...
}

业力重新映射伊斯坦布尔:

remapIstanbulReporter: {
  reports: {
    cobertura: './coverage/cobertura.xml',
    ...
  }
}

业力重映射覆盖

remapCoverageReporter: {
 cobertura: './coverage/cobertura.xml',
 ...
},

配置输出格式后,您可以使用Publish Code Coverage任务将代码覆盖率数据上传到 VSTS。

于 2016-12-27T08:53:07.307 回答