未为 dotnet 核心项目生成 Coverlet lcov.info 文件
Coverlet lcov.info file not generated for dotnet core project
我正在 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 的指南从未明确指示 reader 需要包 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 扩展对我来说开箱即用。
我正在 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 的指南从未明确指示 reader 需要包 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 扩展对我来说开箱即用。