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