面试题答案
一键面试- 常用单元测试框架:
- XCTest:苹果官方提供的单元测试框架,集成在Xcode中,与Xcode和Swift、Objective - C高度兼容,使用方便。
- OCMock:用于创建模拟对象,帮助在测试中隔离被测试对象与其依赖,便于进行单元测试。它允许创建部分模拟、严格模拟等不同类型的模拟对象来满足不同测试场景。
- Kiwi:是一个BDD(行为驱动开发)风格的测试框架,语法简洁,易读性强,能使测试代码更接近自然语言,便于团队成员理解。
- 使用XCTest统计单元测试覆盖率的具体步骤:
- 开启测试覆盖率:
- 打开Xcode项目,选择项目导航栏中的项目文件,在“Build Settings”中搜索“Code Coverage”,将“Generate Test Coverage Files”设置为“Yes”,将“Instrument Program Flow”也设置为“Yes”。这两个设置是开启测试覆盖率统计的基础配置,前者用于生成测试覆盖率相关文件,后者用于检测程序执行流程。
- 运行单元测试:
- 确保你的项目中已经编写好了基于XCTest的单元测试用例。可以通过点击Xcode左上角的运行按钮旁边的三角形下拉菜单,选择测试方案(通常名称为
项目名Tests
),然后点击运行按钮来执行单元测试。Xcode会执行所有编写好的测试用例。
- 确保你的项目中已经编写好了基于XCTest的单元测试用例。可以通过点击Xcode左上角的运行按钮旁边的三角形下拉菜单,选择测试方案(通常名称为
- 查看测试覆盖率报告:
- 测试执行完成后,点击Xcode导航栏中的“Report Navigator”(图标为一个文件夹和放大镜)。在左侧列表中选择刚刚执行的测试记录。
- 在右侧详细信息中,点击“Coverage”标签。这里会以文件为单位展示每个源文件的测试覆盖率情况,绿色部分表示被测试覆盖的代码,红色部分表示未被覆盖的代码。你可以点击具体的文件进一步查看每一行代码的覆盖状态,有助于定位哪些代码没有被测试覆盖到,以便针对性地编写测试用例。
- 开启测试覆盖率:
Xcode自身集成的工具和功能,配合上述步骤,就可以方便地在Objective - C开发中利用XCTest框架统计单元测试覆盖率。