使用jacoco--执行nvn test
运行过程:
1、idea执行mvn test ,运行过程如下:
a.maven-surefire-plugin:0.8.7执行目标动作:prepare-agent, 目的是:执行目标动作是为了在当前的项目名下生成jecoco.exec小工具,将来生成报告 b.maven-surefire-plugin:2.22.2对代码进行编译,执行测试用例(执行的是默认的),故需测开自定义要执行的测试类 c.jacoco-maven-plugin:0.8.7执行目标动作:report,目的是在指定目录下生成报告
在目录-target-coverage-reports-index.html 文件用浏览器打开
生成测试报告
都代表什么呢
要素(包名称);遗漏的指令;错误的分支;xx,xx,错误的行数,总行数,错误的方法,总方法;错误的类,总的类;
二、分析报告 controller类方式覆盖情况:此方法日常工作不用,原因是不能准确的衡量白盒测试情况; 50%1/2 controller方法覆盖情况:此方法日常工作不用,原因是不能准确的衡量白盒测试情况; 83% 5/6 controller行覆盖情况:覆盖行数/总行数 93% 12/13 controller分支覆盖情况:覆盖的分支数/总分支数; 100% 6/6 整个项目行覆盖情况:77.4% 整个分支覆盖情况:13%(controller,service覆盖率达到60%以上) 颜色: 绿色:说明代码都覆盖 黄色:说明代码都覆盖完全 红色:说明代码没覆盖
controller覆盖率100%
service层覆盖率83%
整体覆盖率
如果没有写测试用例,白盒测试的结果状态页面飘红
企业
整个项目行覆盖情况:72.88%(284-77)/284 整个分支覆盖情况:11%(controller,service覆盖率分别是100%,83%) controller,service覆盖率达到60%以上 *项目中着重看项目行覆盖率,着重看controller和service的行和分支覆盖率写白盒用例时,要考虑接口的行和分支,并把白盒代码写全,这样覆盖率才会上升,写全的含义就是若controller层有登录成功/失败,就得写2条用例
如果没覆盖白盒测试,就会在原controller层代码内标红,