如何在azure devops UI中显示覆盖率工件?

问题描述 投票:0回答:1

我在 AzureDevops 中对 python 包运行了覆盖率测试,但令人惊讶的是界面中显示的结果与我在 index.html 工件中的结果不对应。

这是管道的相关部分:

  - stage: coverage
    pool:
      vmImage: ubuntu-latest
    jobs:
      - job: coverage
        steps:
          - task: UsePythonVersion@0
            inputs:
              versionSpec: "3.9"
            displayName: Use Python 3.9
          - script: python -m pip install nox
            displayName: Install dependencies
          - script: nox -s test
            displayName: Test with pytest and coverage
          - task: PublishCodeCoverageResults@2
            displayName: Publish code coverage results
            inputs:
              summaryFileLocation: "coverage.xml" 

当我打开管道结果中的覆盖率选项卡时,我会看到以下内容:

当我打开工件内容时,我得到:

我想应该显示第二个(这就是我在其他人的屏幕截图上看到的那个)有人可以向我解释一下我缺少什么以及为什么我得到了报告的降级版本吗?

azure-devops code-coverage
1个回答
0
投票

覆盖率报告来自文件

coverage.xml
而不是
index.html
。您可以在下面的任务中找到它:

 - task: PublishCodeCoverageResults@2
    displayName: Publish code coverage results
    inputs:
      summaryFileLocation: "coverage.xml" 
  • coverage.xml
    index.html
    有不同的报告目标: coverage.xml 文件通常用于与需要特定 XML 格式的代码覆盖率数据的工具集成,例如持续集成服务或代码质量分析工具。另一方面,生成index.html是为了提供人类可读的、详细的覆盖率报告,可以在网络浏览器中查看。

  • 覆盖率工具可以配置为包含或排除某些文件或目录,这可能会对报告产生不同的影响。此外,计算覆盖范围的方式可能会根据配置和用于生成报告的特定命令而有所不同。

因此,

coverage.xml
index.html

之间可能存在一些差异

您可以导出

coverage.xml
index.html
比较内容进行检查。

© www.soinside.com 2019 - 2024. All rights reserved.