我正在为我的网络应用程序的文件上传功能编写单元测试。我模拟了一个测试文件,并将其保存在我的测试项目所在目录的“Test files”子目录中。
因为我不想对文件路径进行硬编码。如何通过代码知道我的项目目录?我使用了@“..\Test files\test1.xml”,但它不起作用。
提前致谢!
最佳答案
请记住,您的单元测试项目将从其自己的 bin 目录(而不是项目目录)相对运行。您可以使用以下命令获取该 bin 目录的路径:
Assembly.GetExecutingAssembly().Location
但是,最简单的方法是将测试文件和文件夹设置为复制到输出目录。只需在解决方案资源管理器中单击您的文件,按 F4,然后将“复制到输出目录”更改为“始终复制”或“如果较新则复制”。文件夹结构也将被自动复制。然后你的相对路径语句将正确工作。
关于c# - Visual Studio项目目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1269800/