我正在 TeamCity 上运行我的 CI 构建,并且试图让我的覆盖率报告排除我的测试 dll。这是我为可读性而格式化的 exec 命令。
我已经在所有团队城市代理上安装了用于 dotCover 2.0 的 xUnit contrib dll
dotCover.exe
cover
/TargetExecutable="Path/To/XUnit/Runner"
/TargetArguments="My/Test/Assembly/Path"
/Output=coverage.dcvr
哪个有效并产生以下覆盖率报告
正如您从第二张图片中看到的,我的 Web.Tests dll 包含在覆盖率报告中。我尝试了以下方法来过滤掉测试 dll
dotCover.exe
cover
/TargetExecutable="Path/To/XUnit/Runner"
/TargetArguments="My/Test/Assembly/Path"
/Output=coverage.dcvr
/Filters=-:module=MyAssembly.Web.Tests;
/Filters=-:*.Tests
/Filters=-:MyAssembly.Web.Tests
/Filters=-:module=MyAssembly.Web.Tests
这些在日志中生成以下 xml
<DenyFilters>
<Item>
<AssemblyOrModuleFilter>MyAssembly.Web.Tests</AssemblyOrModuleFilter>
<ClassFilter>*</ClassFilter>
<FunctionFilter>*</FunctionFilter>
</Item>
</DenyFilters>
然而,这完全停止了任何报告
我正在使用 dotCover v2.0.425.72。
我想我可能在这里发现了 dotcover 和 xunit 的限制
相关Q