我有一个单元测试项目与Visual Studio中的项目在同一个解决方案中设置。单元测试是通过Visual Studio中的内置单元测试工具完成的(包含在Premium和更高版本中)。我需要在测试项目中运行单元测试时加载一个位于项目本身路径中的文件,而不是测试项目。如何从测试项目中获取项目的路径?
文件包括的主要项目的一部分,并具有以下特性:
- 生成操作:内容
- 复制到输出目录:始终
我需要写一个单元测试,对于依赖于这个文件的函数,或者我将遇到一个错误状态,并且将不能编写100%覆盖该函数的测试。
如何从单元测试项目中获取实际项目的执行路径?
编辑:具体功能读取配置文件中的所有行,并将它们一次一个地存储在列表中。示例代码如下:
public List<string> LoadConfigFile() {
List<string> models = new List<string>();
StreamReader sr = new StreamReader(Path.GetDirectoryName(Application.ExecutablePath) + @"\" + Properties.Resources.SupportedModelsConfigFile);
while ((line = sr.ReadLine()) != null)
{
models.Add(line);
}
sr.Close();
return models;
}
主要问题:运行时,内部或外部的IDE的程序,但运行单元测试时Application.ExecutablePath工作得很好,它把我送到Visual Studio中的一个目录,特别是在这个目录:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\QTAgent32.exe
推出的路径你拿的文件在干什么? – 2012-01-05 18:32:24
如果你有代码已经写好了,也许粘贴代码将是一个好主意,并在该代码中发表评论,如果您遇到问题,并且您想要执行代码中的哪个位置或添加一些附加功能... – MethodMan 2012-01-05 18:33:52