CruiseControl.net Project Fails with no errors,如何识别错误?

CruiseControl.net Project Fails with no errors, how to identify error?

在 4 个项目上 control.net (v1.8.5.0) up 和 运行ning 大约 6 个月,没有问题。

在过去一周左右的时间里,一个项目报告失败...即使它编译正确并且没有报告单元测试错误,因为它们之前是失败的。 None 关于 SO 或其他地方的类似报告描述或更正了这个问题。

仪表板状态如下:

BluePrint Failure Breakers : support2 Failing Tasks : NUnitTask

在通常会显示哪些测试失败的构建报告日志中,它只显示单元启动消息时没有显示任何失败:

ProcessModel: Default DomainUsage: Single Execution Runtime: net-3.5

通常在这里对于 nunit 错误,错误的测试#s 和失败的名称以及 nunit 断言失败消息。在通过的情况下,它会为每个测试显示 xml。

有人可以指出其他地方可能导致此问题的原因,或者我可能会从其他地方找出原因吗?

当我 运行 nunit 手动进行相同的测试时,巡航控制服务检查了构建服务器,一切正常。

我试过重新启动巡航控制服务和 IIS,结果相同。

当我查看服务器上的 ccnet.log 文件时,它没有报告比上面构建日志中已有的内容更具体的内容:

Done Building Project "C:\Users\j\Documents\CIWork\BluePrint\BluePrint.sln" (Build target(s)).

Build succeeded. 0 Error(s)

Time Elapsed 00:00:13.99

2017-01-20 18:50:36,869 [BluePrint:DEBUG] Running unit tests: C:\Program Files (x86)\NUnit 2.6.3\bin\nunit-console.exe /xml=C:\Users\j\Documents\CIWork\BluePrint\logs\LatestTests.BluePrint.xml /nologo C:\Users\j\Documents\CIWork\BluePrint\Tests\bin\x64\Release\TestBluePrint.exe 2017-01-20 18:50:36,869 [BluePrint:DEBUG] Starting process [C:\Program Files (x86)\NUnit 2.6.3\bin\nunit-console.exe] in working directory [C:\Program Files (x86)\CruiseControl.NET\server\BluePrint\WorkingDirectory] with arguments [/xml=C:\Users\j\Documents\CIWork\BluePrint\logs\LatestTests.BluePrint.xml /nologo C:\Users\j\Documents\CIWork\BluePrint\Tests\bin\x64\Release\TestBluePrint.exe] 2017-01-20 18:50:36,953 [BluePrint:DEBUG] Not setting PriorityClass on [C:\Program Files (x86)\NUnit 2.6.3\bin\nunit-console.exe] to default Normal 2017-01-20 18:50:37,686 [20:DEBUG] [BluePrint C:\Program Files (x86)\NUnit 2.6.3\bin\nunit-console.exe] ProcessModel: Default
DomainUsage: Single 2017-01-20 18:50:37,686 [20:DEBUG] [BluePrint C:\Program Files (x86)\NUnit 2.6.3\bin\nunit-console.exe] Execution Runtime: net-3.5

我的配置在 6 个月内没有改变,这是来自 ccnet.config 的相关任务:

      <nunit>
    <path>C:\Program Files (x86)\NUnit 2.6.3\bin\nunit-console.exe</path>
    <outputfile>C:\Users\j\Documents\CIWork\BluePrint\logs\LatestTests.BluePrint.xml</outputfile>
    <assemblies>
      <assembly>C:\Users\j\Documents\CIWork\BluePrint\Tests\bin\x64\Release\TestBluePrint.exe</assembly>
    </assemblies>
  </nunit>

当我发布这篇文章时,我记得其中一个测试从互联网上下载了大量数据并将其缓存。 运行 它从控制台工作,但 运行 它从系统帐户作为服务必须慢到超过默认的 cruisecontrol 超时。

很奇怪,日志中没有超时错误。但是,将缓存文件从管理员帐户复制到 systemprofile 帐户可以修复它。还将查看是否可以将 nunit 测试修改为自动超时。