我正在尝试为C#项目设置单元测试,并且我对如何设置测试项目的目录结构感到困惑
在VS2017中,我将项目扩展如下
Solution
|--*project to test*
| |--*project content*
|
+--*test project*
|--Files
| |--TestDestination
| |--TestDir
| +--EmptyDir
|
|--Controllers
|--Services
+--Models
我想从我的测试类访问“文件”目录中的一些预配置测试目录和文件,但是我无法终生搞清楚如何以编程方式表示该目录的路径。
我尝试过
Path.Combine("Files", "FileManager", "TestDir")
哪个(我认为)会导航到相对于Java中项目的TestDir目录,但我想C#不共享此约定。我也尝试过:
Path.Combine(Directory.GetCurrentDirectory(), "Files", "FileManager" "TestDir")
和
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", "FileManager", "TestDir");
两者都导航到以下目录
'C:\Users\John\Source\Repos\*Solution*\Unit_Tests\bin\Debug\netcoreapp2.0\Files\FileManager\TestDir
(显然)不正确。
是否有很好的方法以编程方式访问我的项目目录?还是以这种方式进行导航并脱离它会更好?如果是这样,我该怎么办?
答案 0 :(得分:0)
您只需要使用../
导航到父目录,从其外观开始,您需要导航3个父目录才能进入测试项目,这样就可以了
Path.Combine(Directory.GetCurrentDirectory(), "../../../Files", "TestDir")