2011-03-07 143 views
1

我在我的項目中使用.net單元測試。我想知道單元測試是否需要項目的UI部分,還是僅需要測試類庫。.net單元測試 - 如何做UI單元測試

如果需要用戶界面單元測試,我該如何測試功能,如在文本框中輸入一些文本,並將這些內容寫到網頁上點擊一個按鈕。

在此先感謝。

回答

0

我認爲通常的計劃是在UI中儘可能少放置代碼,將所有內容放入類中並進行單元測試。

可能創建一個影響UI並實際提供按鈕點擊發生的操作的類將有助於您單元測試儘可能多的功能。

+0

如果你在ASP.NET中使用任何框架,方法將不起作用,因爲Web表單控件使用JavaScript,並且您不會成爲ab以測試任何形式的AJAX或定製JavaScript。 – StuperUser 2011-03-07 10:03:17

0

我會看看網頁自動化工具,例如Watinselenium來自動瀏覽器。

使用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")); 
    } 
} 
0

它的用戶界面。你作爲一個用戶可以在運行你的項目後的每一個單元測試。

FirebugTamper Data是幫助您做到這一點的絕佳工具。

+0

這些是更多的調試工具,而不是單元測試工具。 – StuperUser 2011-03-07 09:59:33

+1

@StuperUser:任何讓您更改數據以嘗試破解單元的工具也是一種測試工具。測試和調試不是相互排斥的。 – 2011-03-07 10:21:50

+0

當然,它們在手動單元測試中非常有用。 Tamper Data看起來比Firebug更強大。 – StuperUser 2011-03-07 11:25:38

0

我已經成功通過單元測試我的Javascript與QUnit和拿起使用WatiN單個MSTest單元測試這些測試的結果。