Запуск теста NUnit без nunit.framework.dll в том же хранилище
Итак, у меня есть моя dll теста, скомпилированная с NUnit 3.2.1, которую я запускаю с командой "vstest.console.exe" в другой программе следующим образом:
var Args = "/UseVsixExtensions:true" + " " + "\"" + @"D:\path\myDllTestNunit.dll" + "\"" +
" " + "/TestAdapterPath:" + "\"" + @"C:\path\NUnit3TestAdapter.3.0.10\lib" + "\"" +
" " + "/Logger:trx" + " /settings:" + "\"" + @"D:\pathRunsettings\dbci_2016_06_23_10_01_56.runsettings" + "\"";
var cmdPath = @"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe";
var proc = new Process();
proc.StartInfo.FileName = cmdPath;
proc.StartInfo.Arguments = Args;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.EnableRaisingEvents = true;
proc.StartInfo.CreateNoWindow = false;
proc.ErrorDataReceived += proc_DataReceived;
proc.OutputDataReceived += proc_DataReceived;
proc.StartInfo.UseShellExecute = false;
proc.Start();
proc.BeginErrorReadLine();
proc.BeginOutputReadLine();
proc.WaitForExit();
Console.ReadLine();
Моя проблема в том, что я хочу выполнить свой тест с этой командой, но без nunit.framework.dll в том же каталоге. Я попытался поместить это в GAC, но у меня все еще есть следующая ошибка (уже пробовал с NUnit Adapter последней версии, все еще получил то же самое):
>>> Starting test execution, please wait...
>>> Information: NUnit Adapter 3.0.10.0: Test execution started
>>>
>>> Information: Running all tests in D:\appli\statro\RSS3_BATCHES_TEST\UT\LANCE
MENT_TESTS\RSS3.Batches.Test.Nunit.Tests.dll
>>>
>>> Warning: Dependent Assembly nunit.framework of D:\appli\statro\RSS3_BATCHES_
TEST\UT\LANCEMENT_TESTS\RSS3.Batches.Test.Nunit.Tests.dll not found. Can be igno
red if not a NUnit project.
>>>
>>> Information: NUnit Adapter 3.0.10.0: Test execution complete
>>>
>>> Warning: No test is available in D:\appli\statro\RSS3_BATCHES_TEST\UT\LANCEM
ENT_TESTS\RSS3.Batches.Test.Nunit.Tests.dll. Make sure that installed test disco
verers & executors, platform & framework version settings are appropriate and tr
y again.
Итак, вкратце, возможно ли запустить мой dll-тест nunit без nunit.framework.dll в том же каталоге? Спасибо
1 ответ
Бегуны NUnit загружают фреймворк вручную для поддержки нескольких версий фреймворка. Например, тесты NUnit 2 и 3 выполняются совершенно другим бегуном внутри. Мы также поддерживаем запуск тестов для нескольких версий платформы за один запуск.
NUnit также не поставляется с установкой, которая помещает сборки в GAC, поскольку он не поддерживает несколько копий для разных целей.NET. Из-за этого код загрузки сборки никогда не тестировался с GAC и не будет.
GAC также сложен для разработчиков в вашей команде, которым необходимо вручную установить правильную версию и цель NUnit, прежде чем они смогут выполнить сборку. Они также должны координировать обновления версий.
Диск дешевый, используйте NuGet и разрешите копировать в зависимости, как и было задумано. Нас всех нанимают для решения бизнес-задач, а не для борьбы с нашими инструментами сборки;-)