将PartCover.NET与NAnt集成

时间:2009-07-30 23:52:14

标签: cruisecontrol.net nant

我正在尝试将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()
谢谢! 大卫

2 个答案:

答案 0 :(得分:5)

您可能已经注意到这项任务相当复杂。它让我走到疯狂的边缘,但最后我开始了它。

以下是一些一般性建议:

  • 使用PartCover 2.2版而不是2.3版,因为后者是一个似乎不稳定的开发版。

  • 记得注册PartCover.CorDriver.dll。

  • 如果你需要引用路径,
  • 传递参数是最难的部分。我最终决定使用配置文件并通过--settings传递它。

答案 1 :(得分:0)

替换=空格并使用&amp; quot;参数参数附近的标记