[C#][ASP.NET MVC]單元測試

  • 8109
  • 0
  • C#
  • 2010-06-06

[C#][ASP.NET MVC]單元測試

今天終於把VS2010安裝完了,由於之前在開發ASP.NET MVC都沒再寫單元測試(大多拿到Spec後就下手了...XD ),

有段時間都沒碰ASP.NET MVC,所以自我練習紀錄一下。

 

要進行單元測試時,請先準備以下相關工作:

A.了解相關測試計畫或模組設計文件。

B.依據模組設計文件撰寫單元測試實列。

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

 

Models:

image

 

新增Interface:IUserRepostiory:

image

這裡我只先定義FindAllRecordes Method。

 

新增UserRepostiory:

 

image

公開使用者屬性。

 

image

初始資料。

 

image

實作FindAllRecordes。

 

Controller:

image

image

繼承Controller。

 

View:

image

勾選強型別,並選擇相對應的資料類別。

 

image

執行結果。

 

再來準備撰寫單元測試

image

image image

新增測試。

 

執行測試:

image

成功:測試資料是否真有100筆。

 

再來我們修改一下測試邏輯:

image

失敗:測試資料是否超過100筆。

 

結論:

今天一整個下午都在練習單元測試,發現單元測試確實能夠減少Bug(較早發現問題)和縮小錯誤範圍(定位問題較準確),

但如果Spec相關功能交待不清楚,個人覺得撰寫單元測試的代價還是滿高的(如果Domain Know How又不足),

因為開發人員根本不太知道那些模組要測試什麼?又該注意什麼細節?

我想單元測試是否真的需要做?又要做到什麼程度?

看來還是要依真實世界專案情況來決定可能比較理想吧。