【发布时间】:2011-05-30 09:32:52
【问题描述】:
我正在 Visual Studio 2010 中编写单元测试。
为了测试某些功能,我添加了一个包含 testfiles 的文件夹。
我需要在没有字符串硬路径的情况下以编程方式获取此文件夹。
文件夹包含在<projectDirectory>/TestFiles中
我尝试使用AppDomain.CurrentDomain.BaseDirectory。
这只有在我使用 resharper 运行单元测试时才有效。
结果是<projectDirectory>/bin/debug,所以我可以轻松转到TestFiles。
如果我使用 Visual Studio 运行测试,则 BaseDirectory 为:<sameFolderAsSolutionFile>\TestResults\<username>_<pcname> <datatime>\Out
我已将我的解决方案文件移动到另一个文件夹。所以我的项目与我的解决方案文件不在同一个文件夹中。
示例:<sameFolderAsSolutionFile> = C:\SolutionFiles<projectDirectory> = C:\Projects\MyProject
谁能告诉我如何在不使用硬编码字符串的情况下获取测试文件的路径?
编辑
我还没有找到解决方案。
Visual Studio 正在使用另一个构建文件夹进行测试。
因此,通常构建到 bin 文件夹中的所有内容都将构建到另一个文件夹中进行测试。
我的临时解决方案
我在我的测试项目中添加了一个 App.config 文件。
在这个配置文件中,我添加了一个带有测试文件所需路径的设置:
<appSettings>
<add key="TestFiles" value="C:\Projects\MyProject\TestFiles"/>
</appSettings>
【问题讨论】:
标签: c# visual-studio unit-testing directory mstest