2012-03-15 66 views
0

我是一名C#和UI開發人員,我有興趣在VS CodedUI for ASP.NET Web應用程序中編寫單元測試。我看到的大多數用法是集成測試,因爲您編寫的測試指向實際的網頁,通過一些步驟運行並測試輸出。我想要更小,更細粒度的東西,這對開發人員來說非常簡單(閱讀:懶惰:P)來編寫。VS編碼的用戶界面 - 實際單元測試

我目前的設置是這樣的:

  • Web應用程序,包括網頁,控件,JavaScript等
  • 的Web應用程序還包含了測試頁面 - 包含一個用戶控件的標記頁,以及代碼隱藏中的一些硬編碼數據。
  • 啓動測試頁的CodedUI項目,運行測試並聲明輸出。

這是一個不錯的開始,但我期待着改進它。

(第一個...)問題是測試數據和測試步驟分別位於不同的位置 - 分別位於web應用程序和codedUI項目中。在常規開發人員單元測試中,您會編寫設置數據的代碼,然後執行其他任何操作,並且您需要的所有內容都位於一個位置。通過我的設置,查看測試失敗的人必須知道要查看測試和正在測試的頁面。

一些想法我有,爲什麼他們吸:

  1. 將測試頁在codedUI項目。出於幾個原因,這是一個問題。用戶控件不易測試,是我的停留點,但我相信還有很多其他的東西。
  2. 將查詢字符串傳遞給提供數據的測試頁。這並非可怕的想法,但它可能會很快變得笨拙。
  3. 傳入一個公開課,由包含測試數據的測試頁加載。這要求測試頁面對測試項目有一個參考,這是不好的。
  4. 在codedUI測試中動態編寫和編譯測試頁。我甚至不想從此開始。
+0

到目前爲止,我選擇了#2,因爲它提供了最接近測試本身的測試數據的最佳方式。但問題是查詢字符串的長度有限,而我目前的測試不會遇到它,未來的測試肯定會。 – rythos42 2012-03-16 23:24:56

回答

0

我想你是在談論單元測試你的網頁與外部數據。使用CUIT,您可以使用data driven CUIT來完成此操作。

+0

我不喜歡它。這是爲了「自動化」 - 而不是「單位」 - 夠強硬。我希望測試數據可以直接從測試的寫入位置可見。 – rythos42 2012-04-11 18:55:59