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