我正在尝试通过两种方式生成代码覆盖率报告。
Fine Code Coverage
。在那里我看到了我所覆盖的所有 3 个项目及其覆盖率。DotNetCoreCLI@2
& PublishCodeCoverageResults@1
来构建和生成报告。 但问题是报告中没有考虑API项目。都在 trx 和 xml 文件中。所以我尝试使用 MSBuild 命令来重现该问题。要运行测试用例并构建 xml 文件,我使用以下命令。
dotnet test --collect:"XPlat Code Coverage"
之后使用以下命令发布覆盖范围。
dotnet test /p:CollectCoverage=true
问题:- 在上面的命令中,我也没有看到我的 Api 项目正在进入报告,但我看到 API 层单元测试正在运行。
以下是我的项目结构(使用干净代码架构/洋葱架构)
为什么只有 API 被排除,因为所有单元测试都在运行相同的内容。
查看您的单元测试项目文件,如果您看到此包参考:
<PackageReference Include="coverlet.collector">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>
runtime; build; native; contentfiles; analyzers; buildtransitive
</IncludeAssets>
</PackageReference>
将其替换为:
<PackageReference Include="coverlet.collector"/>