如何停止NUnit TestRunner?

时间:2018-04-01 10:14:46

标签: visual-studio-2017 nunit testdriven.net

我使用 NUnit 版本3.9.0.0(运行时版本v4.0.30319,尝试不同版本,最高3.10.0.1)从VS 2017 Enterprise,TestDriven.Net V 4.1中单元测试C#解决方案-Alpha,OS Windows 10 Pro。 该项目的程序集以.Net 4.0为目标。

在大多数情况下,它工作正常,但有时 NUnit 的行为变得不可预测,因此系统不再使用。实际发生的是,我开始一个非常简单的单元测试,它通过了。然后我再次开始相同的测试,系统卡住了。您无法停止测试线程,如下图所示(红色火箭图标在鼠标右键单击时没有反应):

enter image description here

我也无法在流程管理器中找到相关流程来手动终止它。 上下文菜单中的NUnit项目保持灰色,无法从其中停止/重新启动测试,请参阅下文:

enter image description here

唯一的可能性是完全重启VS,然后你可以进行一次测试,一切都重新开始。什么可能是错的?

1 个答案:

答案 0 :(得分:1)

评论中没有足够的空间,所以......

我怀疑TD.Net可能能够在流程内或流程外运行测试。如果使用NUnit自己的代理程序耗尽了流程,那么您将看到正在运行nunit-agent.exenunit-agent-x86.exe的流程。如果你愿意,你可以杀死这个过程。

然而,听起来这个过程正在崩溃和终止。问题很可能是TD.Net没有注意到已经发生的事情。它等待来自进程的信号以指示运行完成。如果是这种情况,则永远不会重新启用已禁用的控件。

您可以通过运行一些导致TD.NET问题的测试来测试这一点。这应该是需要一段时间的测试运行,因此您有时间终止代理进程。观察TD.Net的作用。它注意到你杀了这个过程吗?如果没有,您有问题向TD.Net报告。如果它确实注意到并重新启用了控件,那么我们还没有理解问题的根源。