Я пытаюсь выполнить тестовые примеры Nunit, написанные на C #, с помощью консольной программы. До сих пор я пробовал разные способы сделать это, но не смог найти идеального подхода для достижения того же.
Подход 1. Использование пакета NUnitTestAdapter. Этот пакет более старый и не может запускать тесты, созданные с использованием последней версии nunit 3.2.1. Но он отлично работает со старыми версиями, такими как 2.6.4.
В решение добавлен пакет NUnitTestAdapter. Затем попробовал приведенный ниже код.
CoreExtensions.Host.InitializeService();
TestSuiteBuilder builder = new TestSuiteBuilder();
TestPackage testPackage = new TestPackage(@"path to dll");
RemoteTestRunner remoteTestRunner = new RemoteTestRunner();
remoteTestRunner.Load(testPackage);
TestSuite suite = builder.Build(testPackage);
TestSuite test = suite.Tests[0] as TestSuite;
var numberOfTests = ((TestFixture)test.Tests[0]).TestCount;
int i = 0;
foreach (TestMethod t in ((TestFixture)test.Tests[0]).Tests)
{
Console.WriteLine(t.TestName.Name);
//TestName testName = ((TestMethod)((TestFixture)test.Tests[0]).Tests[i]).TestName;
TestFilter filter = new NameFilter(t.TestName);
TestResult result = test.Run(new NullListener(), filter);
ResultSummarizer summ = new ResultSummarizer(result);
NUnit.Core.NUnitFramework.Assert.AreEqual(1, summ.ResultCount);
i++;
}
Могу ли я получить любую обновленную версию этого, тогда это будет прекрасным решением.
Подход 2: Использование Nunit3-консоли
Добавил ссылку на nunit3.console.exe в мой проект и попробовал с кодом ниже
string path = @"path to dll";
NUnit.ConsoleRunner.Program.Main(new[] { path });
Это вызывает ошибку: «Либо сборка не содержит тестов, либо правильный тестовый драйвер не найден».
Кто-нибудь может сообщить мне, как мы можем запустить тесты с журналом выполнения?