第2.6节 iOS生成全量和增量报告

2.6.1 简介

     在采集了覆盖率数据后,就需要生成对应需求的全量和增量覆盖率报告,以便对测试进行查漏补缺。IOS系统有两种开发语言,所以生成报告的方式也不相同,下面就分别介绍一下Object C和Swift语言如何生成覆盖率报告。

2.6.2 Object C项目生成全量报告

提取覆盖率数据

1. 打开Xcode -> window -> Devices and Simulaters, 选择运行测试的真机

2. 在Installed Apps中选择测试的应用,然后点击底部的齿轮按钮选择Download Container

3. 会得到一个xxxx.xcappdata文件

4. 右键点击xcappdata文件 -> 显示包内容, 进入AppData/Documents/arm64/, 拷贝里面的所有.gcda文件。这些数据文件都是覆盖率数据,针对每个类会有一个覆盖率数据文件,项目大的时候数据会非常多。

5. 进入项目目录/Pods/XcodeCoverage, 打开env.sh, 找到 OBJECT_FILE_DIR_normal属性和CURRENT_ARCH属性的值, 这里要注意下如果CURRENT_ARCH的值是undefined就改成arm64(关键)

6. 打开Finder,使用shift+command+G按钮输入/,其中 OBJECT_FILE_DIR_normal 及 CURRENT_ARCH 是上一步找到的值,(尖括号注意去掉)

7. 把上面第4步拷贝的所有.gcda文件拷贝到第六步打开的目录中

8,生成覆盖率报告

打开终端, cd进入项目目录/Pods/XcodeCoverage, 运行命令:

./getcov --show

即可自动生成覆盖率报告

测试报告文件在路径:/Users/*****/Xcode/DerivedData/GHDropMenuDemo-fyxjnfwoowzqbhefbawkfehlqwlt/Build/Products/Debug-iphoneos/lcov下

这个报告就是针对整个项目的全量报告,生成过程手动操作较多, 可以继续研究下如果实现自动化。

2.6.3 Object C项目生成增量报告

由于iOS没有生成增量报告的工具,我们经过调研与尝试,可以通过以下方案进行处理:

1,通过lcov命令生成info报告数据

lcov -b <测试代码路径> -d <gcda目录位置> -c -o result.info --rc lcov_branch_coverage=1

注意:测试代码路径中包含构建生成的类文件 gcno。

2,生成的info格式的报告文件就可以解读,通过git diff拿到增量信息,然后再处理报告,处理方法和Swift是一样的,后面我们统一介绍。

3,处理后的数据为diffreport.info文件,通过genhtml生成报告即可:

genhtml -o 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值