MST

星途 面试题库

面试题:Objective-C中常用的单元测试框架有哪些,如何使用其中一个框架统计单元测试覆盖率?

在Objective-C开发中,列举出至少两个常用的单元测试框架,并详细描述使用其中一个框架(如XCTest)来统计单元测试覆盖率的具体步骤,包括相关工具和配置。
14.4万 热度难度
编程语言Objective-C

知识考点

AI 面试

面试题答案

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

Xcode自身集成的工具和功能,配合上述步骤,就可以方便地在Objective - C开发中利用XCTest框架统计单元测试覆盖率。