将 PartCover.NET 与 NAnt 集成

2024-01-18

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

谢谢 ! 大卫


您可能已经注意到这个任务相当复杂。它把我逼到了疯狂的边缘,但最后我还是让它运行起来。

以下是一些一般建议:

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

  • 记得注册PartCover.CorDriver.dll。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 PartCover.NET 与 NAnt 集成 的相关文章

随机推荐