如何追踪 NUnit 挂在哪里?

How to track down where NUnit is hanging?

我们有一个 Bamboo 构建服务器和一个配置为 运行 几千个集成测试的构建项目,每次构建需要 20 分钟以上,但这是值得为安全性付出的代价拥有一套可靠的集成测试。项目在 C#/ASP.NET.

问题是,NUnit 步骤经常挂起。不会失败,不会崩溃......但它只是停止工作,并且可以保持这种状态数天,直到有人注意到,停止构建并重新启动它。这当然给我们留下了队列中其他构建的大量积压。

这种行为是完全不一致的。我估计它大约有 50% 的时间有效。我们在不同的机器上有 2 个构建代理,每一个都同样受到挂起构建的影响。

有没有什么方法可以让 NUnit 通过集成测试记录它的进度,这样我们至少可以知道是否有一个测试经常导致构建挂起?或者我们如何诊断和解决这个问题的任何其他想法?

对于 Nunit v2.0.50727

运行 带命令行参数 /labels 这给出了每个测试的全名,因为它是 运行.