Есть ли способ выполнить тестовые случаи с MSTest программно с использованием некоторой библиотеки - PullRequest
0 голосов
/ 06 июня 2018

Я не заинтересован в выполнении с MSTest.exe или через тестовый проводник, но через простой код C # (без использования Process).Мне нужна функция, где внешний пользователь может инициировать выполнение теста с помощью webAPI и получать результаты trx в качестве ответа.Я могу добиться этого с помощью вызова MSTest.exe с использованием объекта Process.Но проблема в том, что у меня не может быть MSTest.exe на моем веб-сервере, где должен быть размещен webAPI (для запуска запуска теста), поэтому я не могу продолжить работу с объектом Process (или выполнением пакетного файла).Одним из возможных решений, которое я подумал, является наличие какого-либо пакета dll или nuget, который позволяет выполнять тестовые случаи с аналогичными аргументами, которые передаются в MSTest.exe (например, тестовый проект dll, категория и т. Д.), Тогда мне не нужно иметь MSTest.exe на моем веб-сайте.Сервер вместо этого я могу вызвать эту DLL, получить результаты и вернуть их.Но я не уверен, есть ли такой dll или пакет nuget.

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

С тестовой средой NUnit это возможно, поэтому вместо использования MSTest я переключился на NUnit.

ITestEngine engine = TestEngineActivator.CreateInstance();
TestPackage package = new TestPackage("path/to/assembly");
ITestRunner runner = engine.GetRunner(package);
XmlNode result = runner.Run(this, TestFilter.Empty);

Добавьте пакеты nuget 'nunit.engine.api' и 'nunit.engine' для использованияэтот.Предполагается, что класс, выполняющий эти вызовы, реализует ITestEventListener.

0 голосов
/ 06 июня 2018

С этой небольшой информацией, которую вы дали:

Да, есть способ, вы можете создать файл .bat, чтобы оправдать Target внутри файла проекта.Или вы можете выполнить их прямо из cmd или powershell.

"msbuild" yourproject.proj /target:RunTest
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...