.net-core - 未为 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 扩展对我来说是开箱即用的。
推荐阅读
- php - 使用php在关联数组的数组中搜索值
- java - 如何使用 Tumblr API 获取用户的 Tumblr 仪表板?
- python - 如何检查套接字连接是否正常工作和缓冲或请求是否不正确?
- python-3.x - 如何在 Hacker Rank 中导入 NLTK 库
- python - python pandas使用for后如何组合切片
- node.js - 如何格式化和验证电子邮件节点 js
- scala - 使用 jdbc 从 Spark 2.3.1 Scala 2.11.8 连接到 Vertica
- php - 如何从 guzzle 获取 json 响应
- profiling - ServiceStack:如何在自托管中启用和查看内置分析器?
- python - 值大于或小于零的列的 Pandas 条件平均值