如何访问C#项目目录

时间:2018-06-27 19:25:37

标签: c# .net xunit

我正在尝试为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

(显然)不正确。

是否有很好的方法以编程方式访问我的项目目录?还是以这种方式进行导航并脱离它会更好?如果是这样,我该怎么办?

1 个答案:

答案 0 :(得分:0)

您只需要使用../导航到父目录,从其外观开始,您需要导航3个父目录才能进入测试项目,这样就可以了

Path.Combine(Directory.GetCurrentDirectory(), "../../../Files", "TestDir")