Как запустить тесты NUnit из кода C# - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть проект. NET Core NUnit Test, который содержит несколько TestFixtures со многими Tests. Я могу запустить этот проект из Visual Studio и увидеть результаты теста в специальном окне Результаты теста Visual Studio.

Теперь я хотел бы создать консольное приложение, которое будет запускать эти тесты каждый раз. 5 минут и сохраните результаты каждого теста (прошел ли он успешно? Сколько времени он выполнял? Если были исключения, что они сказали? Et c ...). Итак, в псевдокоде я хотел бы сделать что-то вроде:

var testsResults = RunTests("my NUnit test project from NuGet");
StoreResultsInDataBase(testResults);

Как бы я реализовал метод RunTests? Я нашел этот пост на SO: Как запустить NUnit из моего кода В одном из ответов показан код, подобный следующему:

TestPackage package = new TestPackage(@"C:\YourProject.Tests.dll");
RemoteTestRunner remoteTestRunner = new RemoteTestRunner();
remoteTestRunner.Load(package);
TestResult result = remoteTestRunner.Run(new NullListener());

Кажется, он делает именно то, что мне нужно. Я пытался его использовать, однако у меня были проблемы с классом TestPackage. Я нашел его только в пакете NUnitTestAdapter.WithFramework, который представляет собой проект NET Framework от NuGet (мне нужно использовать. NET Core).

Есть ли решение, с которым можно работать. NET Ядро? Единственное решение, которое я могу придумать, - это использовать отражение, чтобы найти все методы с атрибутом [Test] и запустить их. Тем не менее, это будет немного проблематично c, так как мои тесты также используют [Order] и должны выполняться в правильном порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...