我无法通过 Nant 执行 Nunit 测试,而 Nant 又由 CCNet 调用。 以下是我在 CCnet 仪表板中收到的错误消息:
<exception> <![CDATA[ThoughtWorks.CruiseControl.Core.Tasks.BuilderException: NAnt process timed out (after 900 seconds) at ThoughtWorks.CruiseControl.Core.Tasks.NAntTask.Execute(IIntegrationResult result) at ThoughtWorks.CruiseControl.Core.Tasks.TaskBase.Run(IIntegrationResult result) at ThoughtWorks.CruiseControl.Core.Project.RunTask(ITask task, IIntegrationResult result, Boolean isPublisher) at ThoughtWorks.CruiseControl.Core.Project.RunTasks(IIntegrationResult result, IList tasksToRun, Dictionary`2 parameterValues) at ThoughtWorks.CruiseControl.Core.Project.Run(IIntegrationResult result) at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Build(IIntegrationResult result) at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate(IntegrationRequest request) BaseDirectory: , Targets: , Executable: D:/AutomatedTestSuite/src/Automated Testing/setup/SupportingTools/NAnt/bin/nant.exe, BuildFile: "D:/AutomatedTestSuite/src/Automated Testing/setup/Practicemanagementsetup/practice_nunittestrunner.build"]]> </exception>
我查看了 CCnet.log 文件,但没有找到有关上述事件的任何信息。 注意:我可以在命令行中通过 Nant 执行 Nunit。但只有当我尝试通过 CCnet 执行时才会失败。 请帮我解决这个问题。
最佳答案
发生这种情况有两个可能的原因:
根据 NAnt 任务花费的时间,900 秒(15 分钟)可能还不够 - 尽管我当然希望如此!如果是这种情况,编辑 ccnet-config 文件并设置 buildTimeoutSeconds 值应该可以解决问题。 (有关详细信息,请参阅 NAnt Task 文档)。
另一种可能(也许更可能)是 NAnt 任务无法识别 NAnt 进程已完成。这是某些版本的 CCNet 的已知问题 - 请参阅 CCNET-1735 的错误报告。和 CCNET-1789 。您可能会发现该问题已被更新的 CCNet 版本解决,如果没有,我建议检查 CCNet User Group .
关于nunit - CCnet + NAnt 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4285806/