Testing with Xcode文档(中文版):代码覆盖率

Code Coverage是Xcode 7 的一项新功能,能够使你量化多少代码被测试用例执行。根据代码覆盖,你可以决定测试用例是否是你关注的。

启用代码覆盖

在Xcode的Code coverage是LLVM支持的测试选项。当你启动Code coverage,LLVM工具的代码去收集基于该方法和功能被调用的覆盖数据。code coverage选项可以收集数据,以报告测试的性能和正确性,无论是单元测试还是UI测试

你可以通过编辑scheme的测试行为来启动代码覆盖

  1. 从Scheme编辑菜单中现在编辑 Scheme


    选择Scheme
    选择Scheme
  2. 选择Test action
  3. 启用 Code Coverage复选框来收集覆盖数据。


    启用Code Coverage
    启用Code Coverage
  4. 点击Close

How Code Coverage Fits into Testing

代码覆盖率是衡量你测试量的一个工具。它解决了一下问题

  1. 当运行你的测试用例时那些代码在执行
  2. 你的测试用例是否足够
    换句话说,你有没有足够的测试用例来检查你的所有的代码正确性和性能。
  3. 没有测试到那些部分的代码
    当运行完测试用例,Xcode取得LLVM的覆盖数据并且用它生成覆盖报告,显示在覆盖窗口中。其中显示了测试运行的源文件和功能的列表,并提供了每一个的代码覆盖率。


    代码覆盖率结果
    代码覆盖率结果

源码编辑器显示了文件中的每一行代码,并高亮显示了未被执行的代码。它强调需要覆盖的区域而不是已经覆盖的区域。例如,移动鼠标到-[Calculator input:]方法在代码覆盖率报告上显示的按钮,会带你到注释的源代码。


查看源码
查看源码

代码覆盖率的注释显示在左侧,并且显示了在执行测试期间被执行的次数。 例如:


覆盖代码示例
覆盖代码示例

input:方法, 调用计数,在测试时频繁的被调用,然而,也有哪些没有被调用的方法。这清楚的被标记在源码编辑器中,如下:


未覆盖代码示例
未覆盖代码示例

这个报告的数据和显示给你一个机会去先一个测试用例,包括意外或无效字符,以确保错误的初始方式是你预料的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容