霍格沃茲名企定向培養(yǎng)測試開發(fā)Java進階班2023
2023-08-17 20:36 作者:bili_34604920956 | 我要投稿
單元測試最佳實踐(Java 實現(xiàn))

單元測試是指對軟件中的最小可測試單元進行檢查和驗證。單元在質(zhì)量保證中是非常重要的環(huán)節(jié),根據(jù)測試金字塔原理,越往上層的測試,所需的測試投入比例越大,效果也越差,而單元測試的成本要小的多,也更容易發(fā)現(xiàn)問題。
1.1 單元測試1.0架構(gòu)

以中臺某應用為例,應用部署是微服務架構(gòu),對外提供dubbo服務,當前的單元測試,采用了分層測試框架,根據(jù)代碼的分層,分為Service 層測試,Biz層測試,外部服務訪問層測試,DAO 測試,Redis 訪問層測試,每一層均使用mock 框架屏蔽下層的具體實現(xiàn)。
數(shù)據(jù)準備:在編寫測試用例前,需要依賴到一些數(shù)據(jù),數(shù)據(jù)來源一般是數(shù)據(jù)庫,而構(gòu)造數(shù)據(jù),又不能依賴DAO層的代碼,需要使用原生jdbc 去插入數(shù)據(jù),測試代碼編寫效率低。
構(gòu)造參數(shù)及打樁(stub):調(diào)用方法需要傳遞入?yún)ⅲ袝r候一個入?yún)⑹畮讉€參數(shù)需要set,set 方法寫完,代碼已經(jīng)寫了十來行了。
執(zhí)行測試:這一步比較簡單,直接調(diào)用被測方法即可。
結(jié)果驗證:這里除了驗證被測方法的返回值外,還需要驗證插入到數(shù)據(jù)庫中的數(shù)據(jù)是否正確,某外部方法被調(diào)用過n次或未調(diào)用過。
必要的清理:對打樁進行清理,對數(shù)據(jù)庫臟數(shù)據(jù)進行清理。
標簽: