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

Aka*_*aur 11 code-coverage azure-devops azure-pipelines angular azure-devops-rest-api

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

如何在VSTS代码覆盖率选项卡上显示此报告?

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

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

任何帮助表示赞赏.

gen*_*ane 16

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

coverageIstanbulReporter: {
  reports: ['html', 'cobertura'],
  fixWebpackSourcePaths: true
}
Run Code Online (Sandbox Code Playgroud)

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

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


Kri*_*shh 7

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

卡玛 - 覆盖范围:

coverageReporter: {
  type : 'cobertura',
  ...
}
Run Code Online (Sandbox Code Playgroud)

卡玛 - 重映射 - 伊斯坦布尔:

remapIstanbulReporter: {
  reports: {
    cobertura: './coverage/cobertura.xml',
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

karma-remap-coverage:

remapCoverageReporter: {
 cobertura: './coverage/cobertura.xml',
 ...
},
Run Code Online (Sandbox Code Playgroud)

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