2

我正在使用以下 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 进程。如果我终止此进程,则测试执行成功完成。

4

1 回答 1

1

测试通过远程处理在单独的手动创建的 ASP.NET 应用程序域中运行。解决方案是在所有测试通过后卸载此应用程序域。全局 NUnit TearDown 方法在这种情况下很有用 :)

于 2014-05-27T06:57:55.650 回答