前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OC代码覆盖率测试方案——XcodeCoverage

OC代码覆盖率测试方案——XcodeCoverage

作者头像
用户5521279
发布2019-07-10 14:43:30
3K0
发布2019-07-10 14:43:30
举报
文章被收录于专栏:搜狗测试

前言:

随着项目迭代速度的逐渐加快,小编本人开始感觉到项目测试时间已经成为很难争取到的资源,因此在有限的时间内提升测试质量就成为了目前的一个重要目标,于是小编找到了XcodeCoverage这个查看代码覆盖度的工具,借助此工具我们可以更快的设计出覆盖度更全的测试用例,并且确保其不冗余。接下来将介绍一下该工具的基本信息和使用方法。

简介:

XcodeCoverage是一个基于lcov的统计工具,用于计算Xcode项目的单元测试覆盖率,且能生成html格式的统计报表。XcodeCoverage是通过gcc编译的时候加入gcov统计代码覆盖率,Gcov可以执行函数覆盖、语句覆盖和分支覆盖。同样的,我们也可以按照这种思路来实现手工测试的代码覆盖率统计。

步骤:

首先,我们需要下载XcodeCoverage到被测试工程根目录,这里有两种方法可供选择

1. 通过Git直接下载: https://github.com/jonreid/XcodeCoverage 2. 利用Pods进行配置

这里小编使用的是第二种方法,配置如下:

1. 确保电脑已经安装了CocoaPods,没有安装可以自行搜索方法 2. 在Podfile文件里面添加第三方库 pod'XcodeCoverage','~>1.0' 3. 在根目录下运行 pod install 将必要的库下载到本地 4.在自己的工程中Run Script中配置运行脚本 Pods/XcodeCoverage/exportenv.sh

其次,我们需要对打包进行配置,此时,为了不影响别的打包模式,我们就在Build设置中添加一个模式区别于Debug和Release,这里操作如下

1. 新建一个Build Configurations

2. 需要设置build setting中的Apple LLVM,设置project在Coverage的scheme下的Code Generate中该scheme为Yes,Instrument Program Flow中该scheme为Yes

3. 设置scheme,将运行的scheme设置为刚才添加的configuration gcov

4. 我们还需要在工程中配置触发方法,可以在AppDelegate中添加代码__gcov_flush(),这样当按Home键退出的时候测试覆盖率数据会写到统计文件中

最后,我们启动运行xcode中的工程,并在模拟器中对app进行测试。在测试完成后点击Home键结束。此时统计数据已经生成,查看统计报告可以在工程的XcodeCoverage目录下执行 ./getcov -s 即可生成本文最上方的测试覆盖率统计报告了。

总结:

使用上述方法,我们就可以在app运行过程中对代码覆盖率进行分析,帮助我们更好的设计覆盖度高且不出现重复的case,有效的控制了测试质量。但是目前该方法只适用于模拟器中测试的数据统计,后续将考虑在真机的测试中实际应用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档