在 VSTS 中包含代码覆盖率报告,VSTS 是否必须使用测试适配器?

Include code coverage report in VSTS, Is Test Adapter mandatory for VSTS?

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

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

我是否需要将我的覆盖率结果重新格式化为与 VSTS 兼容?

我读过有关 vsts-tasks 的内容,但我不知道如何实现它。

感谢任何帮助。

VSTS代码覆盖率支持Jacoco or Cobertura formats. Karma-Coverage supports Cobertura format中输出的代码覆盖率结果。为

编辑你的 karma.config.js

业力覆盖率:

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

karma-remap-伊斯坦布尔:

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

karma-remap-coverage:

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

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

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

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

因此,当您 运行 使用 --code-coverage 选项进行测试时,将在覆盖范围目录。

然后在您的 TFS/VSTS 构建中,您可以添加一个 发布代码覆盖率 任务并指定 cobertura XML 文件。