[VS2010 Online]初窺ASP.NET MVC(6) - 單元測試(Unit Test)

[VS2010 Online]初窺ASP.NET MVC(6) - 單元測試(Unit Test)

對於單元測試,我們可以從Wiki的說明看出:

 

單元測試又稱為模塊測試,是針對程序模塊(軟體設計的最小單位)來進行正確性檢驗的測試工作。

單元測試主要是用來檢驗程式的內部邏輯,也稱為個體測試、結構測試或邏輯驅動測試。

通常由撰寫程式碼的程式設計師負責進行。

 

單元測試是最早期的測試,對軟體的可分離的、獨立的或是最小的功能進行測試。可以小到對一個

函式的測試,或是由多個函式組成的某個功能來測試。在開發過程中,程式設計師反復地作單元測

試,以求軟體與規格書的內容一致。

 

所以在進行單元測試時,要作下列準備工作:

1. 收集並瞭解有關這個軟體的模組設計文件以及測試計劃書。

2. 如果沒有已經寫好的單元測試實例,請根據模組設計文件編寫單元測試實例。

3. 根據單元測試實例的內容,準備相關的測試資料、以及測試所需的軟、硬體。

 

我們直接來看看如何在ASP.NET MVC中撰寫一個簡單的單元測試:

1.

建立ASP.NET MVC專案,然後選擇產生Unit Test的專案:

image

 

 

2.

新增一個Controller,命名為CustomerController:

image

 

 

 

3.

在CustomerController中輸入下列程式碼:

image

 

 

4.

然後在測試專案中新增一個Unit Test:

image

 

選擇Unit Test:

image

 

 

 

5.

加入先前的ASP.NET MVC專案參考:

image

 

6.

寫下如下的測試方法:

image

 

 

7.

按下Run All Tests in Solution按鈕:

image

 

執行Unit Test的結果:

image

 

 

8.

把剛剛的Customers改成Customer(期望值),然後在執行測試一次:

image

 

 

9.

測試結果:

image

 

 

 

你可以參考預設的HomeControllerTest以及AccountControllerTest內的單元測試寫法:

image 

 

 

這是有關AccountControllerTest內有關變更密碼含是的單元測試:

image 

 

 

 

 

在Visual Studio 2010中,更可以搭配dynamic型別來作TDD,這可以參考黃忠成老師的文章-

C# 4.0 New Feature : Dynamic Programming And TDD

  

 

也可以參考:

1. http://zh.wikipedia.org/zh-tw/单元测试

2. http://msdn.microsoft.com/en-us/magazine/dd942838.aspx

3. C# 4.0 New Feature : Dynamic Programming And TDD

4. http://mag.chinayes.com/MagazineBase/RUN/3986/20100303145318202.shtml

 

 

如果您有微軟技術開發的問題,可以到MSDN Forum發問。

如果您有微軟IT管理的問題,可以到TechNet Forum發問喔。