在 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
应该足够了。
我的程序处理输入和输出文件,因此需要访问包含现有文件的文件夹(包含在 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
应该足够了。