开发工程师常常问到的一个问题是:测试用例执行了那么多,到底这些用例覆盖了多少的代码?那么在最终的测试报告中给出代码覆盖率是不是更加有说服力,因此这几天稍微看看了emma的东西,在这里记录下来用以备忘,这里只说off-line模式下emma使用命令行方式进行代码覆盖率统计。
off-line模式下使用emma一般来说包含三个步骤:
1)插桩-使用instr对于class文件(或者包含class文件的文件夹或者文件结构)
2)运行测试;
3)合并覆盖率统计数据-使用merge合并测试期间生成的统计数据;
4)输出统计报告-使用report生成
下面就使用方式进行说明:
1)前提准备:
将emma.jar加入jdk安装目录下的jre/lib/ext目录或者将emma.jar加入classpath环境变量中;
使用java emma调用显示emma的使用方式表示emma加入classpath成功;
2)instr:
java emma instr {-ip(/-cp) 插桩路径} [-d 插桩后的class文件输出目录] [-out 元数据文件输出位置] [-merge boolean] [-m 插桩模式] [-ix 插桩过滤] [commom options]
-ip -cp:该选项可以重复多次,用于指示要进行插桩的class文件,可以使用-ip来指示单个class文件,使用-cp来指示文件夹或者文件结构(jar);
-d:该选项指示插桩后的class文件保存位置,如果给定的插桩模式是overwrite的话该选项被忽略;
-out:指示存储统计信息文件的位置(默认统计信息存储在当前文件夹中);
-merge(y[es]|n[o]):指示统计信息是否可以被合并至-out参数指定的输出位置;
-m(copy|overwrite|fullcopy):指示插桩后的文件输出模式,copy表示只有那些进行了插桩的文件输出至-d指示的文件夹,overwrite表示覆盖原始文件,fullcopy表示复制所有的class文件(不论是否插桩)去-d/classes文件夹,所有文件结构(jar)去-d/lib文件夹;
-ix:插桩过滤器,指示那些文件进行插桩,可以重复用以指定多个过滤器;
3)report:
java emma report {-in 统计数据文件} {-r 输出文件格式} [-sp 源文件位置] [common options]
-in:可重复的参数,指示产生报告的统计数据文件;
-r(txt|html|xml):产生的报表文件的格式;
-sp:源文件所在位置,用于关联报表文件与源代码;
4)merge:
java emma merge {-in 统计数据文件} [-out 合并后的数据文件] [common options]
-in:可重复参数项,用于选择要进行合并的数据文件;
-out:用于存储合并后的数据文件位置;
实例:
1)instr:
2)运行:
3)生成报表:
- 大小: 54.4 KB
- 大小: 72.9 KB
- 大小: 94 KB
分享到:
相关推荐
Sql Offline 手册Sql Offline 手册Sql Offline 手册Sql Offline 手册Sql Offline 手册Sql Offline 手册Sql Offline 手册Sql Offline 手册
用Offline_Explorer下载整个网站的方法
随着安卓系统升级,ADB与fastboot工具也需要同时更新,否则会出现offline或其他问题,安卓4.1系统还需要进行手机端的确认,使用老版本的ADB无法正常启动确认过程。但是如果想更新新版本的ADB与fastboot,必须要下载...
Android studio离线组件最新版本的 Google Maven 依赖项offline-gmaven-stable,文件分割成 三个 压缩包,必须集齐 三个 文件后才能一起解压一起使用: Android studio离线组件offline-gmaven-stable.part1.rar ...
Android studio离线组件最新版本的 Google Maven 依赖项offline-gmaven-stable,文件分割成 三个 压缩包,必须集齐 三个 文件后才能一起解压一起使用: Android studio离线组件offline-gmaven-stable.part1.rar ...
是一款相当方便使用的离线浏览工具,可排定抓取时间、设定Proxy,也可选择抓取的项目及大小,可自设下载的存放位置、及存放的空间限制。它内置浏览程序、可直接浏览...只需将鼠标置于要向上或向下滚动并使用滚轮控制!
Offline Explorer Pro是一款专业的离线浏览工具软件。软件设计优秀,可用之离线浏览或其他用途。用户可以相当方便的自定义抓取时间、...只需将鼠标置于要向上或向下滚动并使用滚轮控制! Offline Explorer Pro截图
Extend a FS offline-单用户模式
微云柜代码:放大版的信报箱柜子的管理,用户通过关注平台公众号,实现申请-购买-添加-使用柜子; 使用说明:安装完MeEngine-Laster-Offline后,通过管理员登陆,系统,模块,查找更多模块,微云柜,点击安装
360yunpan 360YunPan Command-line tools, support: Linux ... -o, --offline 开始离线下载 -t, --task 查看离线下载队列 目标: 实现跨平台的360云盘命令行工具 标签:360yunpan
Near Field Communication (NFC) tools - Mifare Classic Offline Cracker
Android studio离线组件最新版本的 Google Maven 依赖项offline-gmaven-stable,文件分割成 三个 压缩包,必须集齐 三个 文件后才能一起解压一起使用: Android studio离线组件offline-gmaven-stable.part1.rar ...
ember-data-offline, 离线模式下,Ember数据是一个插件,它将Ember数据扩展到工作 Ember-data-offline Ember-data-offline是扩展ember数据以在脱机模式下工作的插件。它在本地存储( IndexedDB或者等价) 中缓存记录。...
尽管 apt-get 安装软件...在工作地方的电脑有很快的网络连接但只能使用 windows 的机器,那么我怎样继续利用强大的 ATP 工具升级的我 Ubuntu 系统呢? 这里就要用到apt-offline [1] 了,它是一个离线的 APT 包管理器。
相当方便使用的离线浏览工具,可排定抓取时间、设定Proxy,也可选择抓取的项目及大小,可自设下载的存放位置、及存放的空间限制。它内置浏览程序、可直接浏览或是使用自己喜欢的浏览器来浏览、且更可直接以全浏览窗...
安装后不要立刻运行它,将POB.exe文件复制到C:\Program Files\Portable Offline Browser目录下,覆盖原文件,再使用压缩包内附的注册码注册即可。如果界面为英文,点击View,再点击下面的Language,选择simplified...
IAR Offline License Generator v1.4 by unis用于IAR注册
MeterSphere 是一站式开源持续测试平台,覆盖测试管理、接口测试、性能测试等。 metersphere-offline-installer-v1.19.1-arm64文件分割成三个压缩包,必须凑齐三个才能解压缩使用: metersphere-offline-installer...
升级到4.2.2最新的adb 工具包 error: device offline,二种版本,Windows和Linux各一套,解压即可使用。同时包含fastboot.
harbor-offline-installer-v2.2.1