2012-02-13 92 views
0

我試圖利用TFS測試用例的功能,它允許用戶將參數添加到測試用例。但是,當我設置一個普通的單元測試(它將成爲我的功能/集成測試)並使用插入參數功能時,我似乎無法訪問參數數據。從我可以找到的很少,似乎這個參數化僅用於編碼的UI測試。使用TFS /測試中心的參數化功能測試?

儘管可以在測試中使用[DataSource]屬性編寫數據驅動的單元測試,但這意味着需要一個單獨的位置來管理測試的數據,可能是一個新的UI,等等。不是最佳的。最理想的是通過測試中心來管理所有事情,但是我不能在我的生活中找到關於如何在單元測試中獲得這些數據的描述。

我錯過了一些明顯的東西嗎?

回答

3

要麼我不明白你的問題,要麼你自己回答:-)。讓我解釋一下:

單元測試和編碼UI測試(實際上,大多數基於MSTest的測試)都利用相同的[DataSource]基礎結構。這樣,測試可以參數化,而無需將參數數據嵌入測試本身。

VS 2005和VS 2008基本上提供了數據庫(文本,XML或關係數據庫)作爲有效的測試數據源。 VS 2010(和微軟測試管理器)引入了一種新的數據源:「測試用例數據源」,該測試用例數據源自動插入到從測試用例記錄生成的編碼UI測試中。

但是沒有什麼能夠阻止你對你自己的單元測試做同樣的事情。我認爲下面的工作流程可能適用於您:

  1. 在MTM中創建測試用例;
  2. 添加您的參數和數據行;
  3. 保存您的測試用例。記下工作項目ID(你需要它);
  4. 創建單元測試和下面的屬性添加到方法頭:

    [DataSource("Microsoft.VisualStudio.TestTools.DataSource.TestCase", "http://my-tfs-server:8080/tfs/my-collection;My-Team-Project", "WI#", DataAccessMethod.Sequential), TestMethod] 
    
  5. 在上面的屬性,替換WI#與從#3的工作項ID;

  6. (可選)在Visual Studio中,轉到Test菜單並單擊Windows |測試視圖。選擇剛創建的單元測試,右鍵單擊它並將「將測試關聯到測試用例」。指向在#3中創建的相同測試用例工作項目,現在您將自己的手動測試用例轉換爲自動化測試用例。注意:當您自動執行測試時,您不能再從MTM手動運行它。您需要實驗室管理(以及配置爲能夠運行自動化測試的環境),以安排並運行自動化測試用例。