如何为 Azure 私有存储库设置代码覆盖率徽章?

How to set up a code coverage badge for an Azure private repository?

我在 Azure 上有一个 ReactJS 项目,我正在使用 Cobertura 发布代码覆盖率。

我见过像 badge.io 这样的工具可以用来获取徽章,但它似乎只能为 public 存储库提供徽章。我怎样才能在这个私有 Azure 托管存储库中的 readme.md 中获得徽章?

azure-pipelines.yml:

- task: PublishCodeCoverageResults@1
  inputs:
    codeCoverageTool: 'cobertura'
    summaryFileLocation: '$(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml'

如果您没有覆盖率报告文件,您需要在 publishcodecoverageresults 任务之前添加任务 reportgenerator(如果您的组织没有安装,请将此任务安装到您的组织中)。请检查以下示例

- task: reportgenerator@4
  displayName: ReportGenerator
  inputs:
    reports: '$(System.DefaultWorkingDirectory)\TestCoverage.xml'
    targetdir: '$(Build.SourcesDirectory)\TestResults\Coverage\Reports'
    sourcedirs: '$(Build.SourcesDirectory)'
    verbosity: Verbose


- task: PublishCodeCoverageResults@1
  inputs:
    codeCoverageTool: 'cobertura'
    summaryFileLocation: '$(System.DefaultWorkingDirectory)\TestCoverage.xml'
    pathToSources: '$(Build.SourcesDirectory)'
    reportDirectory: '$(Build.SourcesDirectory)\TestResults\Coverage\Reports'

您想为徽章显示什么状态?

如果您想将构建状态标记添加到您的存储库中的自述文件中。您可以检查 here 以将状态徽章添加到您的仓库以了解构建状态。

更新:

因为 azure devops 测试结果中没有测试覆盖百分比标志。您可以安装代码覆盖扩展,例如。 code coverage protector or Code Coverage Widgets。 请按照下面的屏幕截图浏览市场并搜索代码覆盖率

当您从市场安装代码覆盖率扩展时。然后你可以 Add a code coverage widgets to a dashboard.

您还可以 submit a feature request(单击建议功能和 select Azure Devops)向 Microsoft 开发团队提供测试覆盖百分比徽章。希望他们能考虑到这一点,并在未来实施。