[英]How to read every row in a column in Excel for a data driven unit test
[英]Data-Driven Unit Test from Excel Spreadsheet
如何在VS2012中設置一種數據驅動的單元測試方法,該方法從Excel .xlsx電子表格中讀取數據?
我已經嘗試使用Google搜索解決方案,但結果要么是指Visual Studio的較早版本,要么不是針對.xlsx文件。
到目前為止,我有一個測試類,測試方法和數據源文件TestData.xlsx,該文件在構建時復制到輸出目錄。
我自己弄清楚了。
為您的測試方法提供以下屬性:
[DeploymentItem("TestData.xlsx")]
[DataSource("System.Data.Odbc", @"Dsn=Excel Files;dbq=.\TestData.xlsx;defaultdir=.; driverid=790;maxbuffersize=2048;pagetimeout=5", "Sheet1$", DataAccessMethod.Sequential)]
[TestMethod]
public void MyTestMethod()
{
...
}
[DeploymentItem]僅確保.xlsx文件最終位於測試最終執行的目錄中。
您還需要將.xlsx文件添加到您的項目中,並在其屬性中將“復制到輸出目錄”屬性設置為“如果更新則復制”或“始終復制”,否則.xlsx文件將不會復制到測試中目錄,您將得到一個討厭的,無法描述的錯誤, 該錯誤僅顯示“ Microsoft Access數據庫引擎找不到對象'Sheet1 $'。”
“ Sheet1 $”意味着Excel文檔中名為“ Sheet1”的整個工作表將用作數據表。 如果您希望可以在Excel文檔中進行命名范圍,則可以將不帶“ $”符號的“ NamedRangeName”作為數據表源。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.