一.Nunit不僅僅是一種單元測(cè)試工具,還是一種輔助敏捷開(kāi)發(fā)的工具。
根據(jù)網(wǎng)上的資料情況,可以看的出,目前使用Nunit進(jìn)行普通的單元測(cè)試(即寫(xiě)一段代碼后,再在Nunit里面寫(xiě)出相應(yīng)的測(cè)試代碼對(duì)這段開(kāi)發(fā)代碼進(jìn)行測(cè)試)不是很多,而且用它進(jìn)行的TDD開(kāi)發(fā)模式的多一些~
TDD開(kāi)發(fā)模式是“測(cè)試驅(qū)動(dòng)開(kāi)發(fā)”的模式。即:是在開(kāi)發(fā)之前,先寫(xiě)單元測(cè)試代碼,這些測(cè)試代碼在運(yùn)行的過(guò)程中,根據(jù)測(cè)試結(jié)果,寫(xiě)開(kāi)發(fā)代碼。
當(dāng)所有單元測(cè)試通過(guò),開(kāi)發(fā)代碼寫(xiě)完了,這些代碼全是通過(guò)單元測(cè)試的代碼了。
“測(cè)試驅(qū)動(dòng)開(kāi)發(fā)”的方式是敏捷開(kāi)發(fā)中的一種XP(Extreme Programming)極限編程的一種方式。
關(guān)于敏捷開(kāi)發(fā)的簡(jiǎn)介。
http://blog.csdn.net/wayne_ran/archive/2007/05/08/1601008.aspx
二.簡(jiǎn)單比較兩種方式。
第一種:使用Nunit進(jìn)行TDD(測(cè)試驅(qū)動(dòng)開(kāi)發(fā))模式測(cè)試開(kāi)發(fā)。
TDD開(kāi)發(fā)的兩個(gè)主要原則:
1.除非你有一個(gè)失敗的自動(dòng)測(cè)試,否則永遠(yuǎn)不要寫(xiě)一行代碼。
2.阻止重復(fù)
它的優(yōu)點(diǎn)有:
1.(針對(duì)第一個(gè)原則)因?yàn)闇y(cè)試是嵌入在代碼必須滿(mǎn)足的需求中,如果沒(méi)有需求,沒(méi)有必要實(shí)現(xiàn)任何東西。所以這個(gè)原則阻止我們?nèi)?shí)現(xiàn)那些沒(méi)有測(cè)試和在解決方案中不需要的功能。
2.(針對(duì)第二個(gè)原則)說(shuō)明了在一個(gè)程序中,不應(yīng)該包含重復(fù)的代碼。
第二種:使用Nunit進(jìn)行普通單元測(cè)試模式
即:在寫(xiě)好開(kāi)發(fā)代碼后,再在Nunit里面寫(xiě)測(cè)試代碼,針對(duì)對(duì)已經(jīng)實(shí)現(xiàn)功能的代碼進(jìn)行進(jìn)一步的單元測(cè)試。
優(yōu)點(diǎn):
能夠保證所寫(xiě)的代碼是正確的,通過(guò)測(cè)試的。
缺點(diǎn):
1.會(huì)相應(yīng)延長(zhǎng)開(kāi)發(fā)時(shí)間,并給程序員帶來(lái)一定的測(cè)試工作量。(可能寫(xiě)了100行的代碼后,還需要寫(xiě)100行的代碼對(duì)那100行代碼進(jìn)行測(cè)試)
2.無(wú)法體現(xiàn)出TDD開(kāi)發(fā)模式的優(yōu)點(diǎn)。