我在与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;
}
Run Code Online (Sandbox Code Playgroud)
主要问题:Application.ExecutablePath在IDE内部或外部运行程序时工作正常,但在运行单元测试时,它会将我发送到visual studio中的目录,特别是此目录:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\QTAgent32.exe
Run Code Online (Sandbox Code Playgroud)
Met*_*Man 13
您可以设置一个变量来获取启动应用程序的路径
var execPath = AppDomain.CurrentDomain.BaseDirectory;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10666 次 |
| 最近记录: |