当前位置: 首页 > 工具软件 > XcodeCoverage > 使用案例 >

XcodeCoverage iOS单元测试覆盖率

贾俊艾
2023-12-01

http://blog.csdn.net/dongyu0729/article/details/38655959

XcodeCoverage可以检测运行过的代码,例子里是手动运行,其实自动运行也是可以的

参考了以上文章,不同的是BaiduMobAdNativeSDKSample是写单测的工程, 包含的工程,BaiduMobNativeSDK包含需要测试的.m文件

BaiduMobAdNativeSDKSample

 |-BaiduMobNativeSDK


1.下载XcodeCoverage,解压放在项目BaiduMobNativeSDK(被检测的代码放在这个项目里)根目录里,文件夹名称确认是不是XcodeCoverage

2. 在Build Phases添加Run Script ,也是BaiduMobNativeSDK, XcodeCoverage/exportenv.sh

3.修改Build Setting  

BaiduMobNativeSDK 的 Build Setting中Generate Test Coverage Files 和Instrument Program Flow为YES

由于test在demo 里,BaiduMobAdNativeSDKSample 和 BaiduMobAdNativeSDKSampleUnitTest Build Setting 也做一样的修改 (Generate Test Coverage Files 和Instrument Program Flow为YES),不然会报错

 Undefined symbols for architecture i386:
      "_llvm_gcda_start_file
"_llvm_gcda_emit_function"

命令行 cd到项目的XcodeCoverage的目录中,执行./cleancov 清除覆盖率信息

运行BaiduMobAdNativeSDKSampleUnitTestXcode先clean再运行程序,测试各个页面,最后双击home键,上划结束当前程序)

命令行 cd到项目的XcodeCoverage的目录中,执行./getcov 查看覆盖率信息



 类似资料: