微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

未为dotnet核心项目生成Coverlet lcov.info文件

如何解决未为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

并且希望生成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 举报,一经查实,本站将立刻删除。