標籤:des style blog http color io os ar for
原文:Visual Studio 中的單元測試 UNIT TEST
註:本文系作者原創,可隨意轉載,但請註明出處。如實在不願註明可留空,強烈反對更改原創出處。
TDD(Test-Driven Development) 測試驅動開發是敏捷開發中的一項核心實踐和技術,也是一種設計方法論。TDD的原理是在開發功能代碼之前,先編寫單元測試用例代碼,測試代碼確定需要編寫什麼產品代碼。單元測試是最基本的測試步驟。位於整個產品開發流程V模型的最底部。
大致,在各種開發流程中RA&PSD完成後,無需底層基礎,UAT方案即可完成,下面的步驟也一樣。UT做為底層和CODING同樣重要的步驟,是每個CODER必須掌握的基礎。
RA( Requirement Analysis) &
PSD ( Productive Specification Design) UAT( User Acceptance Testing)
\ /
\ /
\ /
FSD(Functional Specification Design) SIT(System Integration Testing)
\ /
\ /
\ /
Construction(Coding) UT(Unit Tesing)
\ /
\ /
\ /
\ /
\ /
\ /
\/
在小量代碼編寫時,往往可以通過建立控制台項目(Console Application),建立網站項目(Web Form)等,在其中敲入測試代碼來進行測試。一旦代碼量及邏輯關係變得複雜,這種測試將難以展開,並且不具備可維護性。而且很多功能性的代碼,不能完全脫離整個項目來實現。比如在某WEB項目中有一個類庫,寫了一些MODEL層的方法,為了驗證方法的正確性,若要測試該方法,可能不得不引用項目中大量的模型,介面,以及庫函數。等到編譯可以通過了,卻發現你必須登入才能調用該方法或者您所在的目錄(Directory)根本不具備存取權限,於是又不得不去修改Authorization配置或者添加登入等方法。於是一層層下來,你的測試幾乎涉及的項目的各個角落,而該測試方案又不具備高度的重用性。
下面我們以VS2012為例,來看一下如何在Visual Studio中進行單元測試。
1.首先,右鍵點擊解決方案(Solution)彈出右鍵菜單(Context)。選擇添加(Add) - 新項目(New Project), 在給出的模版中,選擇 Visual C# - Test -Unit Test Project 。
2.得到模版。
3.在測試方法中(此處為預設的TestMethod1,一般修改為 需要測試的方法名+Test )添加自己需要測試的代碼。不過在此之前,首先要引用需要測試的項目以及需要用到的類庫。 此例中,我引用了微軟的MVC4.0架構,以及需要測試的項目中的Controller。在此我測試該Controller的ProductCategories()方法。該方法返回一個ActionResult。測試代碼中有3行,第一行用來執行個體化controller,第二行調用controller的方法。如果僅以該2行進行測試通過,則說明代碼無文法問題,可以和其他各部分配合工作。第三行用了一個斷言來檢測方法返回的result是否為空白。此處我斷言它非空,如果為空白,測試將會失敗報錯。
4。測試代碼寫好後, 即可點擊上方菜單Test-Run- AllTests等,來進行測試。
測試完畢後。下方會產生結果清單。紅色為未通過的TestCase。若想對其進行DEBUG,可右擊紅色的TestCase,選擇Debug selected Tests。修改後,也可右擊想要重新測試的TestCase,選擇Run Selected Tests.
Visual Studio 中的單元測試 UNIT TEST