我正在使用以下PS行运行NUnit测试:
& 'D:\tools\nunit-console.exe' D:\MyApplication.Specs.dll /run=MyApplication.MyTest /framework=net-4.5 /nothread
这条线工作正常。 之后,我在同一台PC上的远程会话中运行相同的测试,其中包含以下行:
Invoke-Command -ComputerName MyHost -ScriptBlock { & 'D:\tools\nunit-console.exe' D:\MyApplication.Specs.dll /run=MyApplication.MyTest /framework=net-4.5 /nothread } -credential MyUser
测试执行完成后,nunit-console将挂起以下输出:
NUnit-Console version 2.6.3.13283
Copyright (C) 2002-2012 Charlie Poole.
Copyright (C) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov.
Copyright (C) 2000-2002 Philip Craig.
All Rights Reserved.
Runtime Environment -
OS Version: Microsoft Windows NT 6.1.7601 Service Pack 1
CLR Version: 2.0.50727.5477 ( Net 3.5 )
ProcessModel: Default DomainUsage: Single
Execution Runtime: net-4.5
Selected test(s): MyApplication.MyTest
.
Tests run: 1, Errors: 0, Failures: 0, Inconclusive: 0, Time: 6.96245315227513 seconds
Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0
我注意到任务管理器中的nunit-agent进程。如果我终止此过程,测试执行成功完成。
答案 0 :(得分:1)
测试通过Remoting在单独的手动创建的ASP.NET应用程序域中运行。解决方案是在所有测试通过后卸载此app域。全局NUnit TearDown方法在这种情况下很有用:)