nunit-console зависает в удаленном сеансе PowerShell после завершения тестового запуска

Я запускаю тесты NUnit, используя следующую строку PS:

& 'D:\tools\nunit-console.exe' D:\MyApplication.Specs.dll /run=MyApplication.MyTest /framework=net-4.5 /nothread

Эта линия работает нормально. После этого я запускаю тот же тест в удаленном сеансе на том же ПК со следующей строкой:

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 в диспетчере задач. Если я убью этот процесс, выполнение теста будет успешно завершено.


person Yuriy Morozov    schedule 08.04.2014    source источник
comment
Я подозреваю, что теперь у вас есть ответ на свой вопрос, верно? :) Если это так, было бы здорово, если бы вы разместили это здесь для дальнейшего использования.   -  person Yan Sklyarenko    schedule 24.04.2014


Ответы (1)


Тесты выполняются в отдельном вручную созданном домене приложения ASP.NET через удаленное взаимодействие. Решение состоит в том, чтобы выгрузить этот домен приложения, когда все тесты пройдены. В этом случае пригодится метод Global NUnit TearDown :)

person Yuriy Morozov    schedule 27.05.2014