如何修复“ nunit-console-System.IO.DirectoryNotFoundException:找不到路径的一部分”

时间:2019-01-09 11:45:31

标签: c# nunit-console

我需要在 Windows 7 上使用 nunit3-console v3.9.0 来运行 NUnit测试。问题在于我们的测试正在使用具有相对路径(.. \ Testing.TestingUtils \ Resources \ etc。)的常量,并且它们会失败。发生这种情况是因为,当您启动控制台时,它会从其位置(C:\ Program Files(x86)\ NUnit.org \ nunit-console)获取默认路径,并且相对路径不再正确。

当我尝试使用 NUnit 3.11.0 (最新版本)从VS2017运行NUnit测试时,发生了相同的问题。这是与 NUnit 2.6 的早期版本(我知道它很旧,但这就是我们正在使用的)一起工作的。

我需要找到一种方法,将控制台的“默认路径”指定为项目通用的路径,以便相对路径将指向测试中设计的相同目录。

我找到了一个解决方案,因此测试可以在VS2017中运行,但是不适用于使用nunit-console 3.9的持续集成,并且它们将失败。解决方案是使用:

Path.Combine(TestContext.CurrentContext.TestDirectory + SomeConstantForSpecificDirectory)

我还试图打开Developer Command Prompt(开发人员命令提示符)并导航到NUnit Tests文件夹,然后从那里启动控制台并执行测试,但这没有用:

“ C:\ Program Files(x86)\ NUnit.org \ nunit-console \ nunit3-console.exe” ' DirectoryPath ' .dll < / strong>

我发现nunit-console的两个选项可能可以完成工作,但是我不确定这是否成立以及如何应用它们:

ShadowCopy 告诉.NET将加载的程序集复制到shadowcopy目录。 (此版本已更改为默认从v3禁用 https://github.com/nunit/nunit/issues/521

工具路径
NUnit3控制台运行程序的路径:nunit3-console.exe

我已经尝试从其他线程中找到答案,但是没有一个问题和我的问题相同,或者没有我需要的解决方案。

有没有人遇到类似的问题,或者只是可以花一些时间来帮助我解决这个问题?

0 个答案:

没有答案