我在我的項目中使用.net單元測試。我想知道單元測試是否需要項目的UI部分,還是僅需要測試類庫。.net單元測試 - 如何做UI單元測試
如果需要用戶界面單元測試,我該如何測試功能,如在文本框中輸入一些文本,並將這些內容寫到網頁上點擊一個按鈕。
在此先感謝。
我在我的項目中使用.net單元測試。我想知道單元測試是否需要項目的UI部分,還是僅需要測試類庫。.net單元測試 - 如何做UI單元測試
如果需要用戶界面單元測試,我該如何測試功能,如在文本框中輸入一些文本,並將這些內容寫到網頁上點擊一個按鈕。
在此先感謝。
VS 2010 Premium和Ultimate附帶Coded UI tests裏面做UI測試
我認爲通常的計劃是在UI中儘可能少放置代碼,將所有內容放入類中並進行單元測試。
可能創建一個影響UI並實際提供按鈕點擊發生的操作的類將有助於您單元測試儘可能多的功能。
我會看看網頁自動化工具,例如Watin或selenium來自動瀏覽器。
使用Watin,您可以使用.net以編程方式查找頁面上的元素,Selenium可以記錄和重放。
華廷例如
[Test]
public void SearchForWatiNOnGoogle()
{
using (var browser = new IE("http://www.google.com"))
{
browser.TextField(Find.ByName("q")).TypeText("WatiN");
browser.Button(Find.ByName("btnG")).Click();
Assert.IsTrue(browser.ContainsText("WatiN"));
}
}
它的用戶界面。你作爲一個用戶可以在運行你的項目後的每一個單元測試。
Firebug和Tamper Data是幫助您做到這一點的絕佳工具。
這些是更多的調試工具,而不是單元測試工具。 – StuperUser 2011-03-07 09:59:33
@StuperUser:任何讓您更改數據以嘗試破解單元的工具也是一種測試工具。測試和調試不是相互排斥的。 – 2011-03-07 10:21:50
當然,它們在手動單元測試中非常有用。 Tamper Data看起來比Firebug更強大。 – StuperUser 2011-03-07 11:25:38
使用Visual Studio 2010,您可以創建編碼的UI測試,你還可以配置生成代理執行這些測試:http://codesmartnothard.com/ConfiguringATFS2010TeamBuildServerToRunCodedUITests.aspx
這是正是你要求的,意味着你有一個用戶界面,你可以指定應該發生什麼和在哪個控件中,如果用戶輸入一些數據並點擊一些按鈕......
如果你在ASP.NET中使用任何框架,方法將不起作用,因爲Web表單控件使用JavaScript,並且您不會成爲ab以測試任何形式的AJAX或定製JavaScript。 – StuperUser 2011-03-07 10:03:17