1.好的單元測試必須遵守AIR原則 A自動化 I獨立性 R可重複
2.單元測試應該是全自動執行的,並且非交互式的。單元測試中不準使用System.out來進行人肉驗證,必須使用assert來驗證。
3.單元測試用例之間決不能互相調用,也不能依賴執行的先後次序
4.單元測試可以重複執行,不受(網絡、服務、中間件等)外界環境的影響
5.對於單元測試,保證測試粒度足夠小,有助於精確定位問題,至多是類級別的,一般是方法級別。
6.集成測試是負責檢查跨類,跨系統的交互邏輯。
7.單元測試代碼必須寫在如下工程目錄:src/test/java,不允許寫在業務代碼中。
8.核心業務,核心模塊,核心應用的增量代碼,應及時補充單元測試
9.單元測試基本目標:核心模塊語句覆蓋率和分支覆蓋率達到100%,語句覆蓋率達到70%。
10.編寫單元測試代碼遵循BCDE原則,確保測試交付質量
B 邊界值測試,包括循環邊界、特殊取值、特殊時間點、數據順序等。
C 正確的輸入,並得到預期的結果
D 與設計文檔相結合,編寫單元測試
E 強制錯誤信息輸入(非法數據、異常流程、非業務允許輸入等)並得到預期結果
11.對於數據庫相關的 查詢、更新、刪除等操作,不能假設數據庫的數據存在的,不能直接操作數據庫把數據插入進去,請使用程序插入或者導入數據來準備數據。
12.和數據庫相關的單元測試,可以設定自動回滾機制,或者對單元測試產生的數據有明確的前後綴標識,以免污染數據