Как запустить тесты NUnit из кода С#
Я пытаюсь написать простой метод, который получает файл и запускает его с помощью NUnit.
Код, который мне удалось создать с использованием источника NUnit, не работает:
if(openFileDialog1.ShowDialog() != DialogResult.OK)
{
return;
}
var builder = new TestSuiteBuilder();
var testPackage = new TestPackage(openFileDialog1.FileName);
var directoryName = Path.GetDirectoryName(openFileDialog1.FileName);
testPackage.BasePath = directoryName;
var suite = builder.Build(testPackage);
TestResult result = suite.Run(new NullListener(), TestFilter.Empty);
Проблема в том, что я продолжаю получать исключение, созданное builder.Build, заявляющее, что сборка не найдена.
Что мне не хватает?
Есть ли другой способ запустить тест из кода (без использования Process.Start)?
Ответы
Ответ 1
Добавив следующую строку в начале, настройте структуру NUnit и помогите вам:
CoreExtensions.Host.InitializeService();
Еще один "более простой" способ выполнения программ NUnit программно:
TestPackage testPackage = new TestPackage(@"C:\YourProject.Tests.dll");
RemoteTestRunner remoteTestRunner = new RemoteTestRunner();
remoteTestRunner.Load(testPackage);
TestResult testResult = remoteTestRunner.Run(new NullListener());
Вам необходимо ссылаться на следующие сборки:
-
nunit.core.dll
-
nunit.core.interfaces.dll
И, конечно, nunit.framework.dll
должен находиться в папке с вашей тестовой сборкой;)