在 NUnit 测试中使用项目文件

Using project files in NUnit tests

我的程序处理输入和输出文件,因此需要访问包含现有文件的文件夹(包含在 Visual Studio 项目中),还需要创建新文件并检查其中的内容。

在几台机器上测试运行,所以绝对路径不是一个选项。另外,我无法自行生成输入文件。

如何在 NUnit 测试中判断我需要一个位于项目源代码树中的文件夹? NUnit 似乎将 exe 代码放在某个不起眼的临时文件夹中。

编辑:使用 NUnit 3

假定此问题涉及 NUnit 3,听起来您需要使用 TestContext.CurrentContext.TestDirectory

这会获取构建程序集的目录,而不是它所在的临时位置 运行。 (Environment.CurrentDirectory 会 return。)已记录 here。我相信 CurrentContext 有时也可以为 null,我们使用 TestContext.CurrentContext?.TestDirectory.

对于 NUnit 2.X - 我相信测试 运行 在构建它们的地方,所以 Environement.CurrentDirectory 应该足够了。