使用NUnitAsp對ASP.NET網頁進行單元測試

Posted on 2005-12-27 11:34  飞鼠  阅读(366)  评论(0)    收藏  举报

• 摘要
  之前我們曾經為大家介紹過如何使用NUnit對應用程式進行單元測試,以及如何使用NUnit對資料庫應用程式進行單元測試,這一次我們要為大家介紹如何使用NUnitAsp對ASP.NET網頁進行單元測試。網頁漸漸地變成應用程式的主流操作介面,其比傳統的應用程式優異的地方在於網頁可以允許Internet的使用者透過瀏覽進行操作,不管使用身處何處,只要有瀏覽器,而且也可以連上網際網路,就可以操作網頁應用程式。除此之外網頁在部署上也比傳統的應用程式方便,因為我們只要把做好的網頁部署到一台Web Server,就可以為廣大的Internet使用者使用。因為網頁也是一個應用程式,所以也會有測試的問題,本文將介紹如何使用NUnitAsp與Test-First Development技巧為網頁製作測試程式,當我們做好測試程式之後,不知不覺地把網頁也順便做好了。

• 使用NUnitAsp對ASP.NET網頁執行單元測試
NUnitAsp可以用來測試ASP.NET網頁是否存在?測試網頁上的控制項是否存在?以及測試網頁上的控制項的功能是否正常?以下我們就會以這三個階段對ASP.NET網頁進行測試,帶領大家體驗Test-First Development的奧妙。

 
 ˙[特別注意] 
您必須先安裝好NUnit和NUnitAsp,才能使用NUnitAsp測試ASP.NET網頁,您可以到以下的網址下載NUnitAsp:http://nunitasp.sourceforge.net/download.html。下載完成後直接解開下載得到的壓縮檔(例如NUnitAsp-1.4.1.zip),您只要解壓縮到某個目錄下(例如C:\NUnitAsp)即可完成安裝。 

 
  安裝好NUnitAsp之後您可以建立一個類別庫型態的專案,當做ASP.NET網頁的測試程式,並執行[加入參考]功能參考到以下兩個組件:

1. NUnitAsp.dll
位於放置NUnitAsp解壓縮之後的檔案的目錄底下的bin子目錄下。
2. NUnit.Framework.dll
位於c:\Program Files\NUnit V2.1下(其中的NUnit V2.1目錄名稱和版本有關)。

做好加入參考的動作之後打開專案中的Class1類別,在類別原始碼的最前面加入下列引用名稱空間的程式碼:

using NUnit.Framework;
using NUnit.Extensions.Asp; 
using NUnit.Extensions.Asp.AspTester;


 
  • 注意 
 
   NUnit.Framework是NUnit的名稱空間,NUnit.Externsions.Asp和NUnit.Externsions.Asp.AspTester是NUnitAsp的名稱空間。NUnitAsp還有一個名稱空間叫做NUnit.Externsions.Asp.HtmlTester,可以用來測試Html控制項。 做好加入參考和引入名稱空間的動作後,接下來我們就可以製作ASP.NET網頁的測試程式了。
 
   
 
 • 說明 
   雖然我們尚未製作欲被測試的網頁,但是沒有關係,因為Test-First Development觀念的意思就是要先寫測試程式,我們將會在製作測試程式時不知不覺完成ASP.NET網頁的製作,不但做好的網頁可以交差,因為已經完成單元測試,順便連Test Case都已完成,絕對不會有寫碼寫到專案的Dead Line,沒有時間寫Test Case的情形,所以為什麼程式的品質會比較好的原因也就在此。 
    
  • 特別注意 
  要使用NUnitAsp測試ASP.NET網頁,您必須對ASP.NET網頁的執行特性有基本的認識,包括什麼是PostBack現象、Page_Load事件、以及DataGrid控制項中沒有資料就不會顯示的特性等等。