【问题标题】:Integrating PartCover.NET with NAnt将 PartCover.NET 与 NAnt 集成
【发布时间】:2009-07-30 23:52:14
【问题描述】:

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

谢谢! 大卫

【问题讨论】:

标签: cruisecontrol.net nant


【解决方案1】:

您可能已经注意到,这项任务相当复杂。它把我逼到了精神错乱的边缘,但最后我让它运转起来了。

以下是一些一般性建议:

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

  • 记得注册 PartCover.CorDriver.dll。

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

【讨论】:

  • (+1) 注册是一个基本点,错误不要一概而论。
【解决方案2】:

将 = 替换为空格并使用 &quot ;参数周围的标记

【讨论】:

  • 你是如何解决这个问题的。我收到了这个错误。我试过使用上面的。但我收到错误找不到目标(nunit-console.exe)。我在 NANT 中添加了这样的配置
  • 确保您在运行脚本的机器上的路径中设置了 nunit-console.exe 的位置。
猜你喜欢
  • 2010-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-01
  • 2010-11-20
  • 1970-01-01
相关资源
最近更新 更多