首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有为dotnet核心项目生成Coverlet lcov.info文件

没有为dotnet核心项目生成Coverlet lcov.info文件
EN

Stack Overflow用户
提问于 2020-09-18 19:13:05
回答 1查看 639关注 0票数 3

我正在做dotnet核心项目,在一台linux机器上使用core代码。

下面是生成覆盖报告的博客:https://www.hanselman.com/blog/AutomaticUnitTestingInNETCorePlusCodeCoverageInVisualStudioCode.aspx

如前所述,我传递dotnet测试参数,如下所示:

代码语言:javascript
复制
dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=lcov /p:CoverletOutput=./lcov.info

并期望生成lcov.info文件,但事实并非如此。

我是不是漏掉了什么?

附言:我已经包含了这个包

代码语言:javascript
复制
 <PackageReference Include="coverlet.collector" Version="1.3.0">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-02 21:25:42

我曾经遇到过同样的问题。Hanselman的指南从来没有明确地告诉读者,需要使用coverlet.msbuild包来指示.NET使用/p:语法收集代码覆盖率。通过在测试项目文件夹中执行以下命令,将coverlet.msbuild包含在测试项目中:

代码语言:javascript
复制
dotnet add package coverlet.msbuild

测试项目的*.csproj文件应该包含一个类似于以下内容的语句:

代码语言:javascript
复制
<PackageReference Include="coverlet.msbuild" Version="2.9.0"
    <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    <PrivateAssets>all</PrivateAssets>
</PackageReference>

有了这个修复,当我运行与您发布的命令完全相同的命令时,VSCode的Coverage Gutters扩展可以开箱即用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63954663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档