使用XcodeCoverage统计单元测试覆盖率

2018-07-05  本文已影响31人  ltryee

XcodeCoverage 是一个基于lcov的统计工具,用于计算Xcode项目的单元测试覆盖率,且能生成html格式的统计报表。配置过程可以分为以下几个步骤:

  1. 为工程添加XcodeCoverage代码
  2. 更新Xcode工程Scheme
  3. 注入提取环境变量的脚本

为工程添加XcodeCoverage代码

使用CocoaPods可以方便地添加XcodeCoverage代码。修改Podfile并执行pod install命令。

# Podfile

...
pod 'XcodeCoverage', '~>1.0'
...

更新Xcode工程Scheme

  1. Configurations下新增一个配置项,一般可以通过Duplicate "Debug" Configuration得到,并改名为Coverage

  2. 设置Project -> Build Settings -> Instrument Program FlowYES

  3. 设置Project -> Build Settings -> Generate Coverage Test FilesYES

更新Pods的xcconfig文件

复制一份Pods的xcconfig文件。例如我的工程名为MttHD,则需要复制一份Pods-MttHD.debug.xcconfig,更名为Pods-MttHD.coverage.xcconfig,并引入工程。

注入提取环境变量的脚本

Build Phases中新增一个New Run Script Phase,添加下面的脚本:

if [ "${CONFIGURATION}" == "Coverage" ]
then
    Pods/XcodeCoverage/exportenv.sh
else
    echo "ignore coverage"
fi

运行XcodeCoverage

如果是第一次运行,首先要clean一下工作目录,Product -> Clean
接下来执行任意一个单元测试,然后执行命令bash ./Pods/XcodeCoverage/run_code_coverage_post.sh

Tips

上一篇 下一篇

猜你喜欢

热点阅读