我有一個單元測試項目與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