网易首页 > 网易号 > 正文 申请入驻

软件测试代码覆盖率工具Jacoco演示

0
分享至

前面的文章里我们介绍了代码覆盖率的概念以及Jacoco整体介绍和工具原理。接下来我们来演示一下使用情况。大家去它的官网上就可以下载一个官网的一个源码包。

(本系列文章根据《优品软件培育计划》公益直播内容整理,可以评论区评论获取回放视频)

然后把下载的Jacoco源码包进行解压,解压出来以后,我们会进入到一个叫做doc的一个文件夹里,有一个example文件夹。

进去之后,有一个build文件夹,这是一个项目,是官方给我们举的一个例子。这个例子是很简单的几个java代码文件,然后给你写了一段单元测试,让你通过运行单元测试的方式去运行这个项目。

比如说你的项目里有两个文件,一个是src文件,还有一个文件是测试用例,我们称之为test文件。这个src需要先编译成.class,然后进行打包编译。由java文件编译成一个.class文件,再编译成可执行的文件去执行。

假如说我们的项目是Maven执行起来的,我们的项目执行起来之后,我们运行单元测试的脚本,运行单元测试的脚本就肯定会访问到业务代码,这个时候jacoco在同步统计。因为这个项目里面集成了Jacoco,统计后会生成一个中间文件,然后最后讲这个中间文件生成报告。
项目打包编译完成了,单元测试也运行完成了,单元测试运行到底测到了哪些代码也被统计出来了,在项目指定的一个路径里面。接下来我们就一起演示一下。

我们可以看到这个build文件夹里有好几个文件,我们都知道build.xml是Ant的构建文件,pom.xml是Maven的构建文件,我们先来跑Ant的构建文件。
打开一个cmd的窗口命令,进入到这个项目里。执行Ant,我们就不执行Ant build了,大家都知道,我们在执行Ant的时候,它会去找当前路径下的build.xml的文件。

这个build.xml文件里写的是对整个Java工程进行代码的编译,代码的打包执行,统计代码覆盖率,并且出局一个Jacoco的报告。它都写在这里面了,你自己也可以把你的项目里面也加上Jacoco的代码统计,学着官方的build文件自己写一个,完全是可以运行的,我们跑一下试一试。


我们可以看到,先进行了clean,又进行了compile编译,又进行了单元测试,里面是它打印出的一些逻辑,很简单的一些单元测试的用例,一些加减乘除的计算,然后根据jacoco的执行文件出报告。


最后我们看到build也成功了,报告也出来了,接下来咱们一起看看报告。


这个报告是官方写死的一个报告,但是你可以自己去配置文件中修改。我们可以看到在咱们的构建文件中生成了一个叫target的文件夹,在set里面有一个叫jacoco的报告,里面有html的报告,也有xml的报告。

我们打开index这个报告来看一下,里面有两个包。它里面有行覆盖,分支覆盖,语句覆盖等不同覆盖的维度,绿色的表示被覆盖了,红色的表示没有被覆盖。

我们点开其中一个,这里面有两个类,展示的是每个类的覆盖情况。

里面有几种方法,这里面是每个方法的覆盖情况,如果你觉得还不够,我们可以再把方法点开。

点开之后我们可以看到里面就到具体的代码的覆盖的情况了。


以上就是Jacoco的一个基本的流:运行、编译、执行单元测试、统计、出报告。

我们再演示一下如果运行pom.xml的情况,很多朋友现在公司里已经都不用Ant了,用的是Maven,下面我们一起看看用Maven的情况。


最后我们可以看到总共用了7秒多的时间,出的报告还在刚才上面说的那个文件夹,因为它们俩写的路径是一样的。我们可以看到结果界面也都是一样的。

这就是我们所说的单元测试的覆盖率。很多测试的朋友可能会不太关心,因为很多时候这个测试脚本是开发做的。一般的单元测试,咱们的测试人员可能不会去编写测试用例,但是我们可以帮助开发去辅助执行。

后面的文章我们会继续为大家介绍代码覆盖率在DevOps中的实际应用,欢迎大家继续关注。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
丰田展示新型汽车发动机原型机

丰田展示新型汽车发动机原型机

澎湃新闻
2024-05-29 17:20:29
越闹越大!农田装水表 喝上“自来水”,人性的丧失?还是钱作怪

越闹越大!农田装水表 喝上“自来水”,人性的丧失?还是钱作怪

三农老历
2024-06-01 01:37:12
年轻人有心气,爱德华兹:明年我们一定会回来的

年轻人有心气,爱德华兹:明年我们一定会回来的

懂球帝
2024-05-31 11:46:50
中国曾三次忍辱负重“装孙子”,完美躲过美国制裁!最终迎来崛起

中国曾三次忍辱负重“装孙子”,完美躲过美国制裁!最终迎来崛起

猫眼观史
2024-05-16 18:11:46
粽子不能随便吃?医生提醒:这5类人不适合吃粽子,很多人还不知道

粽子不能随便吃?医生提醒:这5类人不适合吃粽子,很多人还不知道

健康八条
2024-05-31 22:02:45
NBA总决赛:独行侠和凯尔特人面临的大问题!

NBA总决赛:独行侠和凯尔特人面临的大问题!

体育大集
2024-06-01 00:02:09
黄奇帆:房地产的负债率都飙到90%了,房价怎么可能还会往上涨!

黄奇帆:房地产的负债率都飙到90%了,房价怎么可能还会往上涨!

名岂文章著
2024-05-20 19:28:35
谈崩!曝克莱拒绝勇士续约报价,谈判未取得进展,合同到期或离队

谈崩!曝克莱拒绝勇士续约报价,谈判未取得进展,合同到期或离队

打工人的篮球梦
2024-05-31 09:54:39
孙楠被疑似割了双眼皮,网友:气质都不一样了, 像变了个人

孙楠被疑似割了双眼皮,网友:气质都不一样了, 像变了个人

圈里的甜橙子
2024-05-31 15:19:47
医生提倡:中老年人,宁愿睡前喝口酒,也不要入睡前做这3件事

医生提倡:中老年人,宁愿睡前喝口酒,也不要入睡前做这3件事

荷兰豆爱健康
2024-05-31 21:03:35
看李小冉47岁蜕变成“大号水蜜桃”,你跟上新风潮了吗?

看李小冉47岁蜕变成“大号水蜜桃”,你跟上新风潮了吗?

虾剪说剧
2024-05-30 16:07:11
一个班主任的大实话:比早恋“危害”更大的,是初中生的毒友谊

一个班主任的大实话:比早恋“危害”更大的,是初中生的毒友谊

富书
2024-05-27 18:25:36
全国新的一二三四五线城市出炉,沈阳掉下来了!

全国新的一二三四五线城市出炉,沈阳掉下来了!

北京作家编剧肥猪满圈
2024-05-31 18:27:03
毛晓彤求你别再整了!在《庆余年》里假体都要飞出来了,太吓人

毛晓彤求你别再整了!在《庆余年》里假体都要飞出来了,太吓人

谈娱新语
2024-05-24 22:23:27
国内唯一不涉足娱乐圈的歌手,演唱会从不宣传却一票难求

国内唯一不涉足娱乐圈的歌手,演唱会从不宣传却一票难求

虾剪说剧
2024-05-31 01:40:02
陪伴杭州人近20年的老牌粤菜馆闭店,网友:承载青春记忆,不舍

陪伴杭州人近20年的老牌粤菜馆闭店,网友:承载青春记忆,不舍

阿莱美食汇
2024-05-31 19:12:19
庆余年2收官!6位演员被赞,2位演员被嘲,佟梦实成最大赢家

庆余年2收官!6位演员被赞,2位演员被嘲,佟梦实成最大赢家

糊咖娱乐
2024-05-31 16:07:00
打了朱亚文的脸!郭麒麟从被骂“烂”到再战封神,仅用了一个身影

打了朱亚文的脸!郭麒麟从被骂“烂”到再战封神,仅用了一个身影

热剧迷
2024-05-31 21:22:50
中美防长会晤,董军先走出会谈室,5分钟后奥斯汀离开并留下1句话

中美防长会晤,董军先走出会谈室,5分钟后奥斯汀离开并留下1句话

林子说事
2024-06-01 01:02:09
乌克兰得到一笔“前所未有”的援助

乌克兰得到一笔“前所未有”的援助

环球时报国际
2024-05-27 23:57:17
2024-06-01 10:24:49
道普云
道普云
深耕软测行业二十年。可帮助企业和组织建立软件测试体系,提供软件测试cnas/cma认证咨询服务。
136文章数 2关注度
往期回顾 全部

科技要闻

华为上新!余承东:问界6月销量将超4万辆

头条要闻

大陆中止关税减让 台专家:其"报复"措施会一波接一波

头条要闻

大陆中止关税减让 台专家:其"报复"措施会一波接一波

体育要闻

欧文:当老二怎么了?硬就行了!

娱乐要闻

白玉兰提名:胡歌、范伟争视帝

财经要闻

证监会:对恒大地产罚款41.75亿

汽车要闻

外观内饰升级/六项权益 全新哈弗H6开启预售

态度原创

本地
时尚
艺术
数码
军事航空

本地新闻

食味印象|歙县限定!枇杷味儿的清甜初夏

今年夏天,穿得越放松越时髦!

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

数码要闻

真正的咸鱼翻身!两年前的骁龙6 Gen 1怎么就翻红了

军事要闻

拜登称以色列提出新的三阶段停火方案

无障碍浏览 进入关怀版