Интеграция PartCover.NET с NAnt - PullRequest
3 голосов
/ 31 июля 2009

Я пытаюсь интегрировать PartCover.NET с NAnt и CruiseControl.NET Я могу запустить браузер PartCover.NET без проблем, но он не работает, когда я пытаюсь запустить его в задаче NAnt (в моей сборке CCNET).

Должна быть проблема с моей целью NAnt, но я не могу ее найти. Может быть, кто-то испытывал те же проблемы в прошлом?

    <target name="CoverageUnitTest" description="Code coverage of unit tests">
    <exec program="${PartCover.exe}">
        <arg value="--target=${NUnit.console}" />
        <arg value="--target-work-dir=${project.dir}\bin\${configuration}"/>
        <arg value="--target-args=${project}.dll" />
        <arg value="--output=C:\partcover.xml" />
        <arg value="--include=[*]*" />
    </exec>
</target>

В CruiseControl я получил следующее сообщение об ошибке: [exec] Неверный параметр '--target C: \ NUnit \ bin \ nunit-console.exe'

Build Error: NAnt.Core.BuildException
External Program Failed: C:\PartCover\PartCover.exe (return code was -1)
in C:\default.build line: 20 col: 4

   at NAnt.Core.Tasks.ExternalProgramBase.ExecuteTask()
   at NAnt.Core.Tasks.ExecTask.ExecuteTask()
   at NAnt.Core.Task.Execute()
   at NAnt.Core.Target.Execute()
   at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies)
   at NAnt.Core.Project.Execute()
   at NAnt.Core.Project.Run()

спасибо! David

Ответы [ 2 ]

5 голосов
/ 07 августа 2009

Как вы могли заметить, эта задача довольно сложная. Это довело меня до безумия, но наконец я его запустил.

Вот несколько общих советов:

  • использовать PartCover версии 2.2 вместо 2.3, поскольку последняя является версией dev, которая выглядит нестабильной.

  • не забудьте зарегистрировать PartCover.CorDriver.dll.

  • Передача аргументов - самая сложная часть, если вам нужно указывать пути. Я наконец решил использовать файл конфигурации и передать его через --settings.

0 голосов
/ 21 апреля 2010

Замените = пробелом и используйте & quot; маркер вокруг параметров для аргументов

...