XcodeCoverage 使用教程
1. 项目目录结构及介绍
XcodeCoverage 的目录结构如下:
XcodeCoverage/
├── getcov // 主要的代码覆盖率报告生成脚本
├── cleancov // 清理覆盖率数据的脚本
├── lcov.info // 编译产生的代码覆盖率信息文件模板
└── XcodeCoverage.xcconfig // 包含必要的构建设置文件
getcov
脚本用于从测试运行中收集覆盖率数据并生成HTML报告。cleancov
脚本用于删除先前的覆盖率数据,使测量更加准确。XcodeCoverage.xcconfig
文件包含了让Xcode生成覆盖率数据所需的构建设置。
2. 项目的启动文件介绍
XcodeCoverage 没有一个典型的“启动文件”,因为它不是一个可执行的应用程序。但是,为了使用它,你需要在你的Xcode项目中配置一些脚本和构建设置。主要的操作包括:
- 在Xcode的测试后动作(Post-actions)中添加一个运行脚本,通常是从
XcodeCoverage
目录中的run_code_coverage_post.sh
或Pods/XcodeCoverage/run_code_coverage_post.sh
(如果你使用CocoaPods)。 - 配置构建设置以启用代码覆盖率分析,这可以通过导入
XcodeCoverage.xcconfig
文件来完成。
3. 项目的配置文件介绍
XcodeCoverage.xcconfig
是一个重要的配置文件,它包含了使Xcode能够生成覆盖率数据所需的构建设置。这些设置包括:
Instrument Program Flow
:开启对程序流程的追踪,这是代码覆盖率的前提。Generate Legacy Test Coverage Files
:生成旧版的测试覆盖率文件,这是兼容Xcode Coverage工具所必需的。Make sure not to instrument your AppStore release
:提醒不要在App Store发布的版本中启用这些设置,因为它们可能影响性能和安全性。
要使用这个配置文件,您需要将其包含在您的项目中,然后选择合适的构建配置(通常是Debug)应用这些设置。对于CocoaPods用户,应包含Pods/XcodeCoverage/XcodeCoverage.xcconfig
。
请注意,使用CocoaPods安装时,文件不会实际添加到项目中,而是通过preserve_paths
进行访问。这意味着你不能直接在Xcode中编辑它们,但可以在终端中进行修改。