根據(jù)維基百科的定義:
在計(jì)算機(jī)編程中,單元測(cè)試(又稱(chēng)為模塊測(cè)試, Unit Testing)是針對(duì)程序模塊(軟件設(shè)計(jì)的最小單位)來(lái)進(jìn)行正確性檢驗(yàn)的測(cè)試工作。程序單元是應(yīng)用的最小可測(cè)試部件。在過(guò)程化編程中,一個(gè)單元就是單個(gè)程序、函數(shù)、過(guò)程等;對(duì)于面向?qū)ο缶幊?,最小單元就是方法,包括基?lèi)(超類(lèi))、抽象類(lèi)、或者派生類(lèi)(子類(lèi))中的方法。
單元測(cè)試的分類(lèi)
單元測(cè)試根據(jù)主流的分類(lèi)可以分成兩類(lèi),分別是BDD和TDD
TDD
TDD的英文全稱(chēng)是Test-Driven Development,即測(cè)試驅(qū)動(dòng)開(kāi)發(fā)。測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的流程是
開(kāi)發(fā)人員寫(xiě)了一些測(cè)試代碼
開(kāi)發(fā)人員跑了這些測(cè)試用例,然后毫無(wú)疑問(wèn)的這些測(cè)試用例失敗了因?yàn)闇y(cè)試中提到的類(lèi)和方法并沒(méi)有實(shí)現(xiàn)
開(kāi)發(fā)人員開(kāi)始實(shí)現(xiàn)測(cè)試用例里面提到的方法
如果開(kāi)發(fā)者寫(xiě)好了某個(gè)功能點(diǎn),他會(huì)欣喜地發(fā)現(xiàn)之前的相對(duì)應(yīng)的測(cè)試用例通過(guò)了
開(kāi)發(fā)者人員可以重構(gòu)代碼,并添加注釋?zhuān)瓿珊笃诠ぷ?這個(gè)流程如下圖:

BDD
BDD的英文全稱(chēng)是Behavior-Driven Development,即行為驅(qū)動(dòng)開(kāi)發(fā)。 BDD與TDD的主要區(qū)別是在寫(xiě)測(cè)試案例的時(shí)候的措辭,BDD的測(cè)試案例更像是一份說(shuō)明書(shū),在詳細(xì)描述軟件的每一個(gè)功能。個(gè)人比較喜歡BDD,后續(xù)的Demo也是BDD形式的。
關(guān)于BDD和TDD的差別可以看看這篇文章:The Difference Between TDD and BDD
參考: