如何使 reportgenerator@5 在 Azure DevOps 上与 PublishCodeCoverageResults@2(而不是 PublishCodeCoverageResults@1)配合使用

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

PublishCodeCoverageResults@2 如何在 Azure DevOps 上与 reportgenerator@5 配合使用?

当reportgenerator@5 与PublishCodeCoverageResults@2 一起使用时,Azure DevOps 上的“代码覆盖率”选项卡

显示测试报告。这是一个例子:

- task: DotNetCoreCLI@2 inputs: command: 'test' projects: '**/*.Tests.csproj' arguments: '--configuration $(buildConfiguration) --collect:"XPlat Code Coverage;Format=json,cobertura,lcov,teamcity,opencover" -- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=json,cobertura,lcov,teamcity,opencover' publishTestResults: true - task: reportgenerator@5 inputs: reports: $(Agent.TempDirectory)/**/coverage.cobertura.xml targetdir: $(Pipeline.Workspace)/coverlet reporttypes: Cobertura verbosity: Verbose - task: PublishCodeCoverageResults@2 inputs: summaryFileLocation: $(Pipeline.Workspace)/coverlet/Cobertura.xml
但是,如果我将 PublishCodeCoverageResults@2 替换为 

PublishCodeCoverageResults@1,Azure DevOps 上的“代码覆盖率”选项卡确实会显示该报告。这是一个例子:

- task: PublishCodeCoverageResults@1 inputs: codeCoverageTool: Cobertura summaryFileLocation: $(Pipeline.Workspace)/coverlet/Cobertura.xml
如何让 PublishCodeCoverageResults@2 与 reportgenerator@5 配合使用?

unit-testing azure-devops yaml azure-pipelines reportgenerator
1个回答
0
投票
当我将

PublishCodeCoverageResults@2

reportgenerator@5
 一起使用时,代码覆盖率报告:

enter image description here

当我将

PublishCodeCoverageResults@1

reportgenerator@5
 一起使用时,代码覆盖率报告:

enter image description here

目前,

PublishCodeCoverageResults@2

不支持分支和方法覆盖,并且没有每个类的详细信息页面。根据官方博客中的
评论

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

要在管道中使用发布代码覆盖率结果 v2 任务,请使用 dotnet 7.0.x 任务作为管道中的先决条件。在发布代码覆盖率 v2 任务之前使用 dotnet core 任务。详细信息请参阅

备注

# Dotnet core sdk task 7.0.x - task: UseDotNet@2 displayName: 'Use .NET Core sdk 7.0.x' inputs: version: 7.0.x
    
© www.soinside.com 2019 - 2024. All rights reserved.