Используя TeamCity 9.1.3, как вызвать dotCover из nunitlauncher с параметрами?

Я настроил файл MSBuild с несколькими целями.

В одну из целей я звоню

<Exec Command="$(teamcity_dotnet_nunitlauncher) v4.0 X86 NUnit-2.5.9 @(UnitTestDlls)"/>

где @(UnitTestDlls) - группа элементов, содержащая DLL, которую я хочу использовать для модульных тестов. Я делаю это таким образом, так как из веб-интерфейса я не могу динамически создать список DLL для модульного тестирования.

Во всяком случае, это работает нормально, но теперь я хотел бы добавить анализ покрытия с DotCover.

В прошлом мы использовали PartCover следующим образом:

<Exec Command="$(teamcity_dotnet_nunitlauncher) v4.0 X86 NUnit-2.5.9 @(UnitTestDlls) 
               /partcover:%22$(PartCoverConsole)%22 /partcover-arguments:%22--register 
               --output $(PartCoverXmlOutputFile) --include [*]* --exclude [Accessibility]* 
               --exclude [*]Microsoft* --exclude [*test*]* --exclude [*Test*]* --exclude [*JetBrains*]*
               --exclude [*nunit*]* --exclude [*log4net*]*
               @(ExternalLibraries-&gt;'--exclude [%(Filename)]* ','')%22"/>

и это работало отлично.

Я попытался изменить аргумент /partcover на /dotcover, но может показаться, что программа запуска не поддерживает аргументы для dotcover!

1 ответ

Вы должны указать dotCover.exe в качестве исполняемого файла и передать NUnitLauncher в качестве целевого аргумента исполняемого файла в dotCover.

<Exec Command="[path_to_dotCover]\dotCover.exe cover /TargetExecutable=&quot;$(teamcity_dotnet_nunitlauncher)&quot; /TargetArguments=&quot;v4.0 X64 NUnit-2.5.9 @(UnitTestDlls)&quot; /Output=&quot;[path_to_workdir]\[snapshot_name].dcvr&quot;" WorkingDirectory="[path_to_workdir]"/>
Другие вопросы по тегам