程式專案 單元測試工具
Spock
可以應用於java或groovy應用的單元測試框架。測試代碼使用基於groovy語言擴展而成的規範說明語言(specification language)。
透過junit runner調用測試,兼容絕大部分junit的運行場景(ide,構建工具,持續集成等)。框架的設計思路參考了JUnit,jMock,RSpec,Groovy,Scala,Vulcans
參考資料來源
單元測試
單元測試(又稱為模塊測試, Unit Testing)是針對程序模塊(軟體設計的最小單位)來進行正確性檢驗的測試工作。程序單元是應用的最小可測試部件。
在過程化編程中,一個單元就是單個程序、函數、過程等;對於面向對象編程,最小單元就是方法,包括基類(超類)、抽象類、或者派生類(子類)中的方法。
單元測試的幾個典型場景:
- 開發前寫單元測試,通過測試描述需求,由測試驅動開發。
- 在開發過程中及時得到反饋,提前發現問題。
- 應用於自動化構建或持續集成流程,對每次代碼修改做回歸測試。
- 作為重構的基礎,驗證重構是否可靠。
無論是哪種單元測試框架,最後的單元測試代碼量也比業務代碼只多不少,若要維持比較高的單元測試覆蓋率,要有三倍於業務代碼的單元測試代碼。
造成單測代碼難以閱讀、維護不易。寫單元測試的難易程度跟代碼的質量關係最大,並且是決定性的。項目里無論用了哪個測試框架都不能解決代碼本身難以測試的問題。
參考資料來源
BDD
行為驅動開發是一種敏捷軟體開發的技術,它鼓勵軟體項目中的開發者、QA和非技術人員或商業參與者之間的協作。
BDD最初是由Dan North在2003年命名,它包括驗收測試和客戶測試驅動等的極限編程的實踐,作為對測試驅動開發的回應。