电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

IDEA 單元測試覆蓋技巧分享

瀏覽:5日期:2024-07-30 16:08:26
1.前言

通常情況下,項目經理or項目總監會分階段的問測試負責人,本階段的測試覆蓋率是多少?在工作中,當被問到“如何提高代碼質量”,回答無非如下幾個,增加評審,代碼規約,單元測試。不知起自何年何月,如今一些機構開始引入“單元測試覆蓋率”的概念,并由此對程序員提出了覆蓋率要達到70%,90%,以此來評判程序員工作的質量,以及產品的質量。這里先預為單元測試下定義以免混淆,即,基于Junit,類與代碼級別的,與運行時無關的白盒測試。

2.我的理解

測試覆蓋率應該區分自動化測試覆蓋率和功能測試用例覆蓋率。

對于自動化測試覆蓋率,應是=(自動化測試腳本執行過的代碼/總代碼)

對于測試用例覆蓋率,應是=(測試用例覆蓋的功能點/產品設計的所有功能點)

3.什么是單元測試

單元測試是開發者編寫的一小段代碼,用于檢驗被測代碼的一個很小的、很明確的功能是否正確,通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數的行為。

3.1好處

1,單元測試不但會使你的工作完成得更輕松。而且會令你的設計會變得更好,甚至大大減少你花在調試上面的時間

2,提高代碼質量

3,減少bug,快速定位bug

4,放心地修改、重構

5,顯得專業(玩笑話)

3.2注意

1,不能只測試一條正確執行路徑,要考慮到所有可能的情況

2,要確保所有測試都能夠通過,避免間接損害

3,如果一個函數復雜到無法單測,那就說明模塊的抽象有問題

(1)語句覆蓋法

(2)分支覆蓋法

(3)條件覆蓋法

(4)組合條件覆蓋法

4.IDEA 單元測試覆蓋技巧

package com.example.demoo.junit;/** * Created by lanxinghua on 2018/7/26. */public class Myclass { public String test1(){ return 'test1!'; } public String test2(){ return 'test2'; }}

package com.example.demoo;import com.example.demoo.junit.Myclass;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;@SpringBootTestpublic class JunitTest { private Myclass myclass; @Before public void setUp() { myclass = new Myclass(); } @Test public void testHello(){ myclass.test1(); }}

1)啟動單元測試覆蓋模式(Run “*” with Coverage)

IDEA 單元測試覆蓋技巧分享

2)查看代碼覆蓋率結果

IDEA 單元測試覆蓋技巧分享

工具欄按鈕:

IDEA 單元測試覆蓋技巧分享

3)生成代碼覆蓋率報告

IDEA 單元測試覆蓋技巧分享

在里面 生成覆蓋報告對話框打開,指定存儲生成的報告的目標目錄,并且可選擇選中該復選框在瀏覽器中打開生成的HTML。

IDEA 單元測試覆蓋技巧分享

IDEA 單元測試覆蓋技巧分享

擴展

隨著公司的發展,自動化測試腳本的持續集成逐漸要被做起來,那就面臨一個自檢的問題,我的測試腳本、測試用例是否全覆蓋了開發的代碼。如何直觀地看到代碼覆蓋率?

本地統計代碼覆蓋率:jacoco,cobertura

遠程統計代碼覆蓋率:jenkins上下載jacoco插件,并在構建后配置

如果把測試工程(T)跟開發工程(D)分開為兩個獨立的工程,D部署在獨立的服務器上,T工程該如何遠程獲取D的覆蓋率數據呢?

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: IDEA
相關文章:
主站蜘蛛池模板: 通风天窗,通风气楼,屋顶通风天窗,屋顶通风天窗公司 | 北京浩云律师事务所-企业法律顾问_破产清算等公司法律服务 | 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 高低温试验房-深圳高低温湿热箱-小型高低温冲击试验箱-爱佩试验设备 | 衬氟止回阀_衬氟闸阀_衬氟三通球阀_衬四氟阀门_衬氟阀门厂-浙江利尔多阀门有限公司 | 西装定制/做厂家/公司_西装订做/制价格/费用-北京圣达信西装 | SF6环境监测系统-接地环流在线监测装置-瑟恩实业 | LZ-373测厚仪-华瑞VOC气体检测仪-个人有毒气体检测仪-厂家-深圳市深博瑞仪器仪表有限公司 | 一体化净水器_一体化净水设备_一体化水处理设备-江苏旭浩鑫环保科技有限公司 | 陶瓷砂磨机,盘式砂磨机,棒销式砂磨机-无锡市少宏粉体科技有限公司 | 重庆中专|职高|技校招生-重庆中专招生网 | 上海平衡机-单面卧式动平衡机-万向节动平衡机-圈带动平衡机厂家-上海申岢动平衡机制造有限公司 | 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 宁夏档案密集柜,智能密集柜,电动手摇密集柜-盛隆柜业宁夏档案密集柜厂家 | 驾驶式洗地机/扫地机_全自动洗地机_工业洗地机_荣事达工厂官网 | 潍坊大集网-潍坊信息港-潍坊信息网| 热缩管切管机-超声波切带机-织带切带机-无纺布切布机-深圳市宸兴业科技有限公司 | 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | ET3000双钳形接地电阻测试仪_ZSR10A直流_SXJS-IV智能_SX-9000全自动油介质损耗测试仪-上海康登 | 冷柜风机-冰柜电机-罩极电机-外转子风机-EC直流电机厂家-杭州金久电器有限公司 | 包装机_厂家_价格-山东包装机有限公司| 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | FFU_空气初效|中效|高效过滤器_空调过滤网-广州梓净净化设备有限公司 | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | 中视电广_短视频拍摄_短视频推广_短视频代运营_宣传片拍摄_影视广告制作_中视电广 | 道康宁消泡剂-瓦克-大川进口消泡剂供应商| 深圳高新投三江工业消防解决方案提供厂家_服务商_园区智慧消防_储能消防解决方案服务商_高新投三江 | 胶辊硫化罐_胶鞋硫化罐_硫化罐厂家-山东鑫泰鑫智能装备有限公司 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | 法钢特种钢材(上海)有限公司 - 耐磨钢板、高强度钢板销售加工 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | 耐高温电缆厂家-远洋高温电缆| 直齿驱动-新型回转驱动和回转支承解决方案提供商-不二传动 | 洗瓶机厂家-酒瓶玻璃瓶冲瓶机-瓶子烘干机-封口旋盖压盖打塞机_青州惠联灌装机械 | 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | 鲸鱼视觉 -数字展厅多媒体互动展示制作公司 | 德州万泰装饰 - 万泰装饰装修设计软装家居馆 | 骨密度检测仪_骨密度分析仪_骨密度仪_动脉硬化检测仪专业生产厂家【品源医疗】 | 电池高低温试验箱-气态冲击箱-双层电池防爆箱|简户百科 | 带式压滤机_污泥压滤机_污泥脱水机_带式过滤机_带式压滤机厂家-河南恒磊环保设备有限公司 | 双菱电缆-广州电缆厂_广州电缆厂有限公司| 120kv/2mA直流高压发生器-60kv/2mA-30kva/50kv工频耐压试验装置-旭明电工 |