Teamcity 如何从命令行运行的Jetbrains dotCover覆盖率报告中排除xunit测试程序集
我正在TeamCity上运行我的CI构建,并尝试获取覆盖率报告以排除测试DLL。这是我的exec命令,其格式为可读性 我已在所有team city代理上安装了适用于dotCover 2.0的xUnit contrib DLLTeamcity 如何从命令行运行的Jetbrains dotCover覆盖率报告中排除xunit测试程序集,teamcity,xunit,dotcover,Teamcity,Xunit,Dotcover,我正在TeamCity上运行我的CI构建,并尝试获取覆盖率报告以排除测试DLL。这是我的exec命令,其格式为可读性 我已在所有team city代理上安装了适用于dotCover 2.0的xUnit contrib DLL dotCover.exe cover /TargetExecutable="Path/To/XUnit/Runner" /TargetArguments="My/Test/Assembly/Path" /Output=coverage.dcv
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>
<AllowFilters>
<Item>
<AssemblyOrModuleFilter>*</AssemblyOrModuleFilter>
<ClassFilter>*</ClassFilter>
<FunctionFilter>*</FunctionFilter>
</Item>
</AllowFilters>
<DenyFilters />
当你写一个问题,然后很快就能找到答案时,这种情况有多频繁
没有筛选器会导致日志中出现以下xml
<DenyFilters>
<Item>
<AssemblyOrModuleFilter>MyAssembly.Web.Tests</AssemblyOrModuleFilter>
<ClassFilter>*</ClassFilter>
<FunctionFilter>*</FunctionFilter>
</Item>
</DenyFilters>
<AllowFilters>
<Item>
<AssemblyOrModuleFilter>*</AssemblyOrModuleFilter>
<ClassFilter>*</ClassFilter>
<FunctionFilter>*</FunctionFilter>
</Item>
</AllowFilters>
<DenyFilters />
因此,修复是/Filters=+:module=*;类别=*;函数=*;-:模块=MyAssembly.Web.Tests
提供了以下xml
<AllowFilters>
<Item>
<AssemblyOrModuleFilter>*</AssemblyOrModuleFilter>
<ClassFilter>*</ClassFilter>
<FunctionFilter>*</FunctionFilter>
</Item>
</AllowFilters>
<DenyFilters>
<Item>
<AssemblyOrModuleFilter>MyAssembly.Web.Tests</AssemblyOrModuleFilter>
<ClassFilter>*</ClassFilter>
<FunctionFilter>*</FunctionFilter>
</Item>
</DenyFilters>
*
*
*
MyAssembly.Web.Tests
*
*
多差劲啊