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