如何使用“Dotnet dotcover test --dcFilters”命令从代码覆盖率中排除某些命名空间

问题描述

我在 gitlab-ci.yml 中使用 dotnet dotcover test 命令来获取代码覆盖率。 我在我的单元测试解决方案中包含了 dotcover dotnetclitool 版本 2020.3.3,以便在管道测试阶段执行此命令。 但是我无法从代码覆盖率结果中成功排除某些类(在特定命名空间/文件夹下)。我的解决方案结构如下:

  1. 源文件夹
    • AClient.Repository.csproj
      • 扩展文件夹

        AClientExt.cs

      • 模型文件夹

        ModelA.cs

        ModelB.cs

      • 存储库文件夹

        RepoA.cs

        RepoB.cs

  2. 测试文件夹
    • AClient.Repository.UnitTests.csproj
      • RepositoryTests

        RepoATests.cs

现在代码覆盖率包括解决方案,我想排除以下命名空间:

AClient.Repository.Extensions.*
AClient.Repository.Models.*
AClient.Repository.Tests.*

我正在运行此命令,但它无法正确排除过滤器,所以请有人帮我弄清楚 dcFilters 的正确用法:

code coverage

解决方法

我最终是这样解决的:

export DISPLAY=$(/mnt/c/Windows/System32/ipconfig.exe | awk -F\: '/IPv4/{adr=$NF}END{sub(/\r$/,"",adr); print adr":0:0"}')

这是帮助我的答案:https://stackoverflow.com/a/6208644/11731377

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...