如何解决未为dotnet核心项目生成Coverlet lcov.info文件
我正在Linux机器中使用VS代码进行dotnet核心项目。
根据以下博客生成覆盖率报告: https://www.hanselman.com/blog/AutomaticUnitTestingInNETCorePlusCodeCoverageInVisualStudioCode.aspx
正如我所说的那样,我通过了dotnet测试参数,如下所示:
dotnet test /p:CollectCoverage=true /p:CoverletoutputFormat=lcov /p:Coverletoutput=./lcov.info
我在这里错过了什么吗?
ps:我已经包含了这个包裹
<packagereference Include="coverlet.collector" Version="1.3.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</packagereference>
解决方法
我曾经遇到过确切的问题。 Hanselman的指南从未明确指示读者使用软件包coverlet.msbuild
来指示.NET使用/p:
语法收集代码覆盖率。通过在测试项目文件夹中执行以下命令,在测试项目中包含coverlet.msbuild
:
dotnet add package coverlet.msbuild
测试项目的*.csproj
文件应包含类似于以下内容的语句:
<PackageReference Include="coverlet.msbuild" Version="2.9.0"
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
使用此修复程序,当我运行与您发布的命令完全相同的命令时,VSCode的Coverage Gutters扩展程序对我来说是开箱即用的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。