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

时间:2016-12-24 14:46:09

标签: angular code-coverage azure-devops azure-pipelines azure-devops-rest-api

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

如何在VSTS代码覆盖率标签上显示此报告?

我是否需要在兼容VSTS的情况下重新格式化我的覆盖率结果?

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

感谢任何帮助。

2 个答案:

答案 0 :(得分:16)

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

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

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

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

答案 1 :(得分:7)

VSTS代码覆盖率支持Jacoco or Cobertura formats中输出的代码覆盖率结果。 Karma-Coverage supports Cobertura format。编辑你的karma.config.js

<强>果报覆盖:

app:srcCompat

<强>业力重新映射-伊斯坦布尔:

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

<强> karma-remap-coverage

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

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