Azure PublishCodeCoverageResults@2 问题,包含详细的覆盖范围报告

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

我正在尝试将 PublishCodeCoverageResults 从 @1 切换到 @2。因为管道中出现警告

##[警告]任务发布代码覆盖率结果的新 V2 版本现已向我们的所有客户开放。我们强烈建议停止使用 V1 版本并迁移到 V2 版本 (https://learn.microsoft.com/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v2)。有关更多详细信息,请参阅 - https://devblogs.microsoft.com/devops/new-pccr-task

目前,我正在使用此代码来获取报告

- task: PublishCodeCoverageResults@1
  inputs:
    codeCoverageTool: 'Cobertura'
    summaryFileLocation: '$(Agent.BuildDirectory)/app_folder/coverage.xml'
  displayName: 'Publish Coverage Report'

完成后,我会收到一份详细的报告,使我能够浏览代码并调查覆盖范围。

PublishCodeCoverageResults@1 report

但是当我尝试切换到 PublishCodeCoverageResults@2 时

- task: PublishCodeCoverageResults@2
  inputs:
    summaryFileLocation: '$(Agent.BuildDirectory)/app_folder/coverage.xml'
    pathToSources: '$(Agent.BuildDirectory)/app_folder/'
  displayName: 'Publish Coverage Report'

并且只能得到常见的无用报告

PublishCodeCoverageResults@2 report

我一直根据官方文档尝试不同的方法,但最终我没有得到详细的报告和运行后的任何工件。

也许有人面临这个问题。感谢您提前的建议。

运行工具:pytest和coverage.py

azure azure-devops pytest report coverage.py
1个回答
0
投票

此任务的新版本(V2)当前支持基于分支或行的覆盖详细信息。文档严重缺乏,并且没有提及功能上的巨大差距;您必须阅读 MS 博客文章的评论才能找到此信息。


Bohdan Janousek (MSFT) 的评论

https://devblogs.microsoft.com/devops/new-pccr-task/#comment-4300

是的,V1和V2之间当前的差距(缺少基于行和分支的覆盖)是因为V2内部没有使用报告生成器。较大存储库的报告生成器存在问题,这是放弃该报告的原因之一。

https://devblogs.microsoft.com/devops/new-pccr-task/#comment-4298

我们确实希望缩小 V2 和 V1 之间的差距。主要是基于线路的覆盖。 V2 任务不使用报告生成器,并且没有计划依赖它。尽管如此,V2 任务仍然可能有好处 - 文件夹的代码覆盖率,并且可以设置构建质量检查,以确保各个文件夹满足可能与所需的总体覆盖率不同的要求。

另请参阅:https://github.com/microsoft/azure-pipelines-tasks/issues/19295

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