可以使用 Coverlet 获取 .NET Framework 项目中的代码覆盖率数据吗?

Jon*_*ell 5 .net code-coverage coverlet

我有一个大型 .NET Framework 解决方案,并希望开始收集代码覆盖率数据作为我们构建管道的一部分(以及在我们的本地开发人员机器上)。

在 Coverlet GitHub 页面上,它说它支持 .NET Framework 项目,但所有示例都使用dotnet testCLI 命令。

是否可以为此使用 Coverlet 还是我应该查看 OpenCover 之类的东西?

riQ*_*iQQ 1

选项1

如果这不起作用,请使用任务来发布测试任务生成的Publish code coverage resultscorbertura 文件(默认名称:)coverage.cobertura.xml


选项2

  • 将以下 NuGet 包添加到您的测试项目中
    • 封面.msbuild
    • 微软.NET.Test.Sdk
    • 微软测试平台
    • 微软测试平台构建
  • 将属性组添加到您的测试项目文件 (.csproj)
<PropertyGroup>
    <VSTestTaskAssemblyFile>$(MSBuildThisFileDirectory)\..\packages\Microsoft.TestPlatform.Build.16.6.1\lib\netstandard2.0\Microsoft.TestPlatform.Build.dll</VSTestTaskAssemblyFile>
    <VSTestConsolePath>$(MSBuildThisFileDirectory)..\packages\Microsoft.TestPlatform.Portable.16.6.1\tools\netcoreapp2.1\vstest.console.dll</VSTestConsolePath>
    <CoverletOutputFormat>cobertura</CoverletOutputFormat>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
  • 使用MSBuild任务
    • 使用以下命令行参数:
      <your-project>.csproj /p:CollectCoverage=true /t:VSTest
  • 使用任务发布任务生成的Publish code coverage resultscorbertura 文件(默认名称: )coverage.cobertura.xmlMSBuild