JAVA測試框架 java如何編寫單元測試類



文章插圖
JAVA測試框架 java如何編寫單元測試類

文章插圖
文章通過學習《阿里巴巴Java開發手冊》整理1.好的單元測試必須遵守AIR原則
好的單元測試宏觀上來說,具有自動化、獨立性、可重復執行的特點 。
A: Automatic (自動化)
I:Independent (獨立性)
R:Repeatable(可重復)
2.單元測試應該是全自動執行的,并且非交互式的
單元測試中不準使用System.out來進行人肉驗證,必須使用assert來驗證、
3.保持單元測試的獨立性
為了保證單元測試穩定可靠且便于維護,單元測試用例之間決不能互相調用,也不能依賴執行的先后次序
4.單元測試是可以重復執行的,不能受到外界環境的影響 。
單元測試通常會被放到持續集成中,每次有代碼check in時單元測試都會被執行 。如果單元測試對外部環境(網絡、服務、中間件等)有依賴,容易導致持續集成機制不可用 。
5.核心業務、核心應用、核心模塊的增量代碼確保單元測試通過6.單元測試代碼目錄
單元測試代碼必須寫在如下工程目錄:src/test/java,不允許寫在業務代碼目錄下 。
說明:源碼構建時會跳過此目錄,而單元測試框架默認是掃描此目錄 。
7.單元測試基本目標
單元測試的基本目標:語句覆蓋率達到70%,核心模塊的語句覆蓋率和分支覆蓋率都要達到100%
在工程規約的應用分層中提到的DAO層,Manager層,可重用度高的Service,都應該進行單元測試 。
8.編寫單元測試代碼遵循的原則
【JAVA測試框架 java如何編寫單元測試類】遵守BCDE原則,以保證被測試模塊的交付質量 。
B:Border,邊界值測試,包括循環邊界、特殊取值、特殊時間點、數據順序等
C:Correct,正確的輸入,并得到預期的結果
D:Design,與設計文檔相結合,來編寫單元測試
E:Error,強制錯誤信息輸入(如:非法數據、異常流程、非業務允許輸入等),并得到預期的結果
9.數據庫相關的查詢、更新、刪除等操作
不能假設數據庫里的數據是存在的,或者直接操作數據庫把數據插入進去,請使用程序插入或者導入數據的方式來準備數據 。
10.和數據庫相關的單元測試
和數據庫相關的單元測試,可以設定自動回滾機制,不給數據庫造成臟數據?;蛘邔卧獪y試產生的數據有明確的前后綴標識
11.對于不可測的代碼
建議做必要的重構,使代碼變得可測,避免為了dadao測試要求bu而書寫不規范的測試代碼 。
12.設計評審階段
在設計評審階段,開發人員需要和測試人員一起確定單元測試范圍,單元測試最好覆蓋所有測試用例(UC)