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

テストは、Remoting を介して手動で作成された別の ASP.NET アプリケーション ドメインで実行されています。解決策は、すべてのテストに合格したときに、このアプリ ドメインをアンロードすることです。この場合、グローバル NUnit TearDown メソッドが役立ちます:)

于 2014-05-27T06:57:55.650 に答える