gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 11:54:18 25 4
gpt4 key购买 nike

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

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

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

最佳答案

选项1

  • 使用任务Visual Studio Test
  • 创建一个 .runsettings 文件并在 .runsettings 中配置 Coverlet(参见 https://github.com/tonerdo/coverlet/blob/master/Documentation/VSTestIntegration.md#coverlet-options-supported-by-vstest-integration)
  • 在任务中引用 .runsettings 文件
  • 勾选选项 Code coverage enabled

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

    选项 2
  • 将以下 NuGet 包添加到您的测试项目
  • coverlet.msbuild
  • Microsoft.NET.Test.Sdk
  • Microsoft.TestPlatform
  • Microsoft.TestPlatform.Build

  • 将属性组添加到您的测试项目文件 (.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>
  • 使用 MSBuild任务
  • 使用以下命令行参数:<your-project>.csproj /p:CollectCoverage=true /t:VSTest

  • 使用 Publish code coverage results发布由 coverage.cobertura.xml 生成的 corbertura 文件(默认名称:MSBuild)的任务任务
  • 关于.net - 可以使用 Coverlet 获取 .NET Framework 项目中的代码覆盖率数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60651663/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com