單元測(cè)試
通常來(lái)說(shuō),單元測(cè)試和開(kāi)發(fā)人員相關(guān)度更高。主要的原因是:根據(jù)定義,單元測(cè)試用于測(cè)試系統(tǒng)中與其他部分隔離、定義良好的部分。因此,它們比較容易編寫(xiě)和使用。
許多構(gòu)建系統(tǒng)已經(jīng)內(nèi)置對(duì)單元測(cè)試的支持,不用花費(fèi)太大力氣就可以使用。
例如Maven,就有這樣的約定:描述如何寫(xiě)測(cè)試才能讓構(gòu)建系統(tǒng)找到測(cè)試、執(zhí)行測(cè)試并最終準(zhǔn)備報(bào)告結(jié)果。編寫(xiě)測(cè)試基本上可以歸結(jié)為編寫(xiě)測(cè)試方法,通過(guò)在源代碼加注解來(lái)標(biāo)記它們。因?yàn)檫@些都是普通的方法,所以它們可以做任何事情,但是根據(jù)約定,應(yīng)該編寫(xiě)測(cè)試,這樣就不需要花費(fèi)很大的力氣去運(yùn)行。如果測(cè)試代碼開(kāi)始需要復(fù)雜的設(shè)置和運(yùn)行時(shí)依賴,我們處理的就不再是單元測(cè)試了。
這里單元測(cè)試和功能測(cè)試的差別很讓人困惑。通常來(lái)說(shuō),相同的底層技術(shù),類(lèi)庫(kù)會(huì)在單元測(cè)試和功能測(cè)試之間重復(fù)使用。
復(fù)用一般來(lái)說(shuō)是一件好事情,因?yàn)樗梢宰屇愎ぷ髟诹硪粋€(gè)領(lǐng)域時(shí),從你的專(zhuān)業(yè)領(lǐng)域中獲益。盡管如此,還是會(huì)時(shí)不時(shí)地帶來(lái)困擾,你必須打起精神,花費(fèi)一些力氣,確保你正在做正確的事情。