簡體   English   中英

Excel電子表格中的數據驅動的單元測試

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM