Jon*_*ell 5 .net code-coverage coverlet
我有一个大型 .NET Framework 解决方案,并希望开始收集代码覆盖率数据作为我们构建管道的一部分(以及在我们的本地开发人员机器上)。
在 Coverlet GitHub 页面上,它说它支持 .NET Framework 项目,但所有示例都使用dotnet testCLI 命令。
是否可以为此使用 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 resultscorbertura 文件(默认名称:)coverage.cobertura.xml
选项2
<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:VSTestPublish code coverage resultscorbertura 文件(默认名称: )coverage.cobertura.xmlMSBuild