我寫了一個測試。我使用數據驅動的單元測試。我的方法聲明如下所示:如何在方法的屬性中設置通用路徑
[TestCategory("IntegrationTest")]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV",
"C:\\MyProjectPath\\File.csv", "File#csv",
DataAccessMethod.Sequential), DeploymentItem("File.csv"),
TestMethod]
public void Read_CSV_File_Attribute()
我想提交對源代碼管理的更改。我的問題是DataSource屬性中的硬編碼路徑:「C:\ MyProjectPath \ File.csv」。
如果有人會從存儲庫中獲取此代碼的最新版本,那麼此人將必須更改此屬性中的路徑。
如何建立適用於所有c-worker的通用路徑?
我試圖用改變路徑:
MethodInfo method = typeof(TestClass).GetMethod("Read_CSV_File_Attribute");
method.CustomAttributes.ElementAt(1).ConstructorArguments.ElementAt(1).Value = _newPath;
因爲價值是隻讀的它不工作。
[TestCategory("IntegrationTest")]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV",
Path.Combine(), "File#csv",
DataAccessMethod.Sequential), DeploymentItem("File.csv"),
TestMethod]
public void Read_CSV_File_Attribute()
合併()拋出了一個消息:無法解析symbole '合併'。
我也嘗試過使用ConfigurationManager類,但是我得到一個信息:類名在這一點上是無效的。
我跟着你的腳步,我的測試失敗消息:單元測試適配器失敗連接到數據源或讀取數據。有關解決此錯誤的更多信息,請參閱「數據驅動的單元測試疑難解答」[...]。錯誤詳細信息:Microsoft Jet數據庫引擎找不到對象'File.csv'。確保對象存在,並且正確拼寫其名稱和路徑名。 當我寫[數據源(「Microsoft.VisualStudio.TestTools.DataSource.CSV」,「D:\\ File.csv」,「文件#csv」,DataAccessMethod.Sequential)]然後測試工程。 – Jaryn
@Jaryn是否將File.csv文件複製到測試項目的bin/debug文件夾中?你是否手動將文件放在「D:\\」上?是否有可能檢查System.Environment.CurrentDirectory和System.AppDomain.CurrentDomain.BaseDirectory值? –