Я запускаю свою CI-сборку в TeamCity и пытаюсь получить отчет о покрытии, чтобы исключить мои тестовые библиотеки DLL. Вот моя команда exec, отформатированная для удобства чтения.
Я установил dll xUnit contrib для dotCover 2.0 на всех агентов team city
dotCover.exe
cover
/TargetExecutable="Path/To/XUnit/Runner"
/TargetArguments="My/Test/Assembly/Path"
/Output=coverage.dcvr
Что работает и дает следующий отчет о покрытии
Как видно на втором рисунке, моя dll Web.Tests включена в отчет о покрытии. Я пробовал следующее, чтобы отфильтровать тестовую 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
Связанные вопросы