|
TDD介紹
TDD是一種開發方法,全稱是Test-Driven development,中文是測試驅動開發。作者是Kent Beck。首先讓我介紹一下三種常見的開發方式:
第一種:先Coding,然后Bug Fix。
第二種:先Coding,然后Unit Test,最后Bug Fix。很顯然用了單元測試的比第一種開發方式要好不少。
第三種:就是本文要說的TDD,它的方式和第二種恰恰相反。TDD先設計單元測試,然后再Coding,最后修復Bug。看下圖:
TDD開發過程可以看成:給制自己制定一個目標,然后努力去完成這個目標。下面是這個比喻對應關系。斜杠前面的是TDD,斜杠后面的是完成目標:
1、寫一個測試 / 制定一個目標。
2、編譯 / 了解完成目標的標準。
3、運行測試,結果失敗 / 目標沒有達成。
4、修改代碼 / 為了完成目標,不停奮斗。
5、再次運行測試,結果通過 / 目標達成。
這個說明應該比較形象啦。
下面我們看下真正的TDD循環,如下圖所示:
TDD循環:
第一步:寫測試類,然后拿去編譯。
第二步:將編譯生成好的dll之類的拿去測試,測試失敗。
第三步:失敗之后,就去修改測試的代碼,直到測試通過。
第四步:測試成功之后,去重構你的代碼,增加代碼的可讀性,但不能改變程序的任何功能。重構代碼之后還需要測試,必須測試成功為止。
這四個步驟之后,在從寫測試類重新開始其他的功能。
下面用一個在ASP.NET mvc2 中進行一次簡單的TDD開發實戰。單元測試我使用NUnit。
新建一個你類庫項目命名為Test.Unit。再建一個ASP.NET mvc2的項目。項目結構如下圖:
首先進行第一步,寫測試確定要實現什么:我們實現一個數據列表的顯示。
在類庫項目中添加一個nunit.framework引用,然后再設計一個TodoControllerTest類用于測試控制器。
using NUnit.Framework;
namespaceTest.Unit
{
[TestFixture]
public classTodoControllerTest
{
[Test]
public voidShould_Display_A_List_Of_Todo_Items()
{
}
}
}
NET技術:在ASP.NET MVC中進行TDD開發,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。