我是一名C#和UI開發人員,我有興趣在VS CodedUI for ASP.NET Web應用程序中編寫單元測試。我看到的大多數用法是集成測試,因爲您編寫的測試指向實際的網頁,通過一些步驟運行並測試輸出。我想要更小,更細粒度的東西,這對開發人員來說非常簡單(閱讀:懶惰:P)來編寫。VS編碼的用戶界面 - 實際單元測試
我目前的設置是這樣的:
- Web應用程序,包括網頁,控件,JavaScript等
- 的Web應用程序還包含了測試頁面 - 包含一個用戶控件的標記頁,以及代碼隱藏中的一些硬編碼數據。
- 啓動測試頁的CodedUI項目,運行測試並聲明輸出。
這是一個不錯的開始,但我期待着改進它。
(第一個...)問題是測試數據和測試步驟分別位於不同的位置 - 分別位於web應用程序和codedUI項目中。在常規開發人員單元測試中,您會編寫設置數據的代碼,然後執行其他任何操作,並且您需要的所有內容都位於一個位置。通過我的設置,查看測試失敗的人必須知道要查看測試和正在測試的頁面。
一些想法我有,爲什麼他們吸:
- 將測試頁在codedUI項目。出於幾個原因,這是一個問題。用戶控件不易測試,是我的停留點,但我相信還有很多其他的東西。
- 將查詢字符串傳遞給提供數據的測試頁。這並非可怕的想法,但它可能會很快變得笨拙。
- 傳入一個公開課,由包含測試數據的測試頁加載。這要求測試頁面對測試項目有一個參考,這是不好的。
- 在codedUI測試中動態編寫和編譯測試頁。我甚至不想從此開始。
到目前爲止,我選擇了#2,因爲它提供了最接近測試本身的測試數據的最佳方式。但問題是查詢字符串的長度有限,而我目前的測試不會遇到它,未來的測試肯定會。 – rythos42 2012-03-16 23:24:56