2013-03-27 2 views
1

Я запускаю свою сборку CI на TeamCity, и я пытаюсь получить свой отчет о покрытии, чтобы исключить мои тестовые DLL. Вот моя команда exec, форматированная для удобочитаемости.Как исключить сборки тестов xunit из Jetbrains Отчет о покрытии dotCover, запущенный из командной строки

Я установил XUnit CONTRIB DLLs для dotCover 2,0 на всех команда города агентов

dotCover.exe 
    cover 
    /TargetExecutable="Path/To/XUnit/Runner" 
    /TargetArguments="My/Test/Assembly/Path" 
    /Output=coverage.dcvr 

Который работает и производит следующий отчет покрытия

My Coverage Report My in depth coverage report

Как вы можете видеть со второго снимка моя библиотека «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 здесь


Связанные Q-х

ответ

1

Как часто это тот случай, когда вы пишете вопрос, который вскоре найдете ответ. .

не имея никаких фильтров результатов в следующем XML в журналах

<AllowFilters> 
    <Item> 
     <AssemblyOrModuleFilter>*</AssemblyOrModuleFilter> 
     <ClassFilter>*</ClassFilter> 
     <FunctionFilter>*</FunctionFilter> 
    </Item> 
</AllowFilters> 
<DenyFilters /> 

Добавление в строке /Filters=-:module=MyAssembly.Web.Tests изменяет XML, чтобы не вызывая не сообщать о что-либо как позволяют фильтров истреблены.

<AllowFilters /> 
<DenyFilters> 
    <Item> 
     <AssemblyOrModuleFilter>MyAssembly.Web.Tests</AssemblyOrModuleFilter> 
     <ClassFilter>*</ClassFilter> 
     <FunctionFilter>*</FunctionFilter> 
    </Item> 
</DenyFilters> 

Так что исправление /Filters=+:module=*;class=*;function=*;-: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> 

Что Faff!

+0

Как добавить несколько модулей с командной строкой? – ShaneKm

Смежные вопросы