我的程序处理输入和输出文件,因此需要访问包含现有文件的文件夹(包含在Visual Studio Project中),还需要创建新文件并检查其中的内容。
测试在多台计算机上运行,因此绝对路径不是一种选择。另外,我无法自行生成输入文件。
如何在NUnit测试中告诉我需要一个位于项目源代码树内的文件夹? NUnit似乎将exe代码放在一些不起眼的临时文件夹中。
编辑:使用NUnit 3
答案 0 :(得分:1)
假设这个问题涉及NUnit 3,听起来你需要使用TestContext.CurrentContext.TestDirectory
。
这将获取构建程序集的目录,而不是运行它的临时位置。 (Environment.CurrentDirectory
将返回。)记录here。我相信CurrentContext有时也可以为null,我们使用TestContext.CurrentContext?.TestDirectory
。
对于NUnit 2.X - 我相信测试会在构建它们的地方运行,所以Environement.CurrentDirectory
就足够了。