代码覆盖率选项卡未在Azure DevOps中显示报告

时间:2020-10-02 09:57:41

标签: asp.net-core azure-devops

我有一个用于.NET Core 2.2 Web应用程序的构建管道,该应用程序具有一个用于运行测试的.NET Core任务。但是,在运行管道并检查“代码覆盖率”选项卡之后,我得到了以下消息。

enter image description here

enter image description here

我遗忘了要做或设置的遗漏吗?

2 个答案:

答案 0 :(得分:0)

您需要进行以下设置:

enter image description here

--configuration $(BuildConfiguration) --collect:"XPlat Code Coverage"您需要安装coverlet.collector nuget软件包。

enter image description here

然后安装报告生成器:install --tool-path . dotnet-reportgenerator-globaltool

enter image description here

运行报告生成器:./reportgenerator -reports:$(Agent.TempDirectory)/**/coverage.cobertura.xml -targetdir:$(Build.SourcesDirectory)/coverlet/reports -reporttypes:"Cobertura"

enter image description here

并发布代码覆盖以获取此信息:

enter image description here

答案 1 :(得分:0)

您可以尝试按照以下步骤发布代码覆盖率。

1,首先,您需要确保您对nuget包coverlet.msbuild的项目引用。

SearchUserViewPresenter

2,通过运行自定义dotnet命令public weak var view: UserView! 下载报告生成器,请参见以下yaml格式的示例。

<PackageReference Include="coverlet.msbuild" Version="2.5.1">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
    </PackageReference>

3,然后在您的dotnet测试任务中通过添加以下参数来启用CollectCoverage:

install --tool-path . dotnet-reportgenerator-globaltool

4,然后将任务Report Generator安装到您的组织中,并在reportgenerator任务中,将“ reports”文件夹指定到CoverletOutput文件夹中的报告- task: DotNetCoreCLI@2 inputs: command: custom custom: tool arguments: install --tool-path . dotnet-reportgenerator-globaltool displayName: Install ReportGenerator tool ,如上述dotnet测试任务arguments: '/p:CollectCoverage=true /p:CoverletOutput=$(Build.SourcesDirectory)\TestResult\ /p:CoverletOutputFormat=cobertura' 中所述。 / p>

请参阅以下完整示例,以yaml格式显示:

$(Build.SourcesDirectory)\TestResult\**\coverage.cobertura.xml