我需要在控制台应用程序中以编程方式运行 NUnit 测试。使用 NUnit 的 nunit-console.exe 不是一个选项。我当前的代码是:
var testRunner = new SimpleTestRunner();
var package = new TestPackage("MyTests.dll", new List<string> { ("c:\MyTests\MyTests.dll" });
testRunner.Load(package);
当我调用 Load 时,NUnit 在当前进程的 目录中查找 dll。所以我得到一个 FileNotFoundException,比如“c:\MyTestRunner\bin\debug\MyTests.dll”。
我怎样才能强制它在不同的目录中寻找 dll?
最佳答案
我不确定它如何与 NUnit 的 SimpleTestRunner()
一起工作,但使用 RemoteTestRunner()
对我来说效果很好:
TestPackage testPackage = new TestPackage(@"C:\YourProject.Tests.dll");
RemoteTestRunner remoteTestRunner = new RemoteTestRunner();
remoteTestRunner.Load(testPackage);
TestResult result = remoteTestRunner.Run(new NullListener());
确保 nunit.framework.dll
库位于测试程序集所在的文件夹中。
试试 RemoteTestRunner()
;)
关于c# - 在 C# 控制台应用程序中运行 NUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1882514/