dotnet test --collect:“XPlat代码覆盖率”不考虑Api项目

问题描述 投票:0回答:1

我正在尝试通过两种方式生成代码覆盖率报告。

  1. 使用
    Fine Code Coverage
    。在那里我看到了我所覆盖的所有 3 个项目及其覆盖率。
  2. 使用 Azure Devops Pipeline,我使用
    DotNetCoreCLI@2
    &
    PublishCodeCoverageResults@1
    来构建和生成报告。 但问题是报告中没有考虑API项目。都在 trx 和 xml 文件中。

所以我尝试使用 MSBuild 命令来重现该问题。要运行测试用例并构建 xml 文件,我使用以下命令。

dotnet test --collect:"XPlat Code Coverage"   

之后使用以下命令发布覆盖范围。

dotnet test /p:CollectCoverage=true

问题:- 在上面的命令中,我也没有看到我的 Api 项目正在进入报告,但我看到 API 层单元测试正在运行。

以下是我的项目结构(使用干净代码架构/洋葱架构)

为什么只有 API 被排除,因为所有单元测试都在运行相同的内容。

c# azure-devops asp.net-core-6.0 cobertura coverlet
1个回答
0
投票

查看您的单元测试项目文件,如果您看到此包参考:

<PackageReference Include="coverlet.collector">
   <PrivateAssets>all</PrivateAssets>
   <IncludeAssets>
     runtime; build; native; contentfiles; analyzers; buildtransitive
   </IncludeAssets>
 </PackageReference>

将其替换为:

<PackageReference Include="coverlet.collector"/>
© www.soinside.com 2019 - 2024. All rights reserved.