Code Coverage是Xcode 7 的一项新功能,能够使你量化多少代码被测试用例执行。根据代码覆盖,你可以决定测试用例是否是你关注的。
启用代码覆盖
在Xcode的Code coverage是LLVM支持的测试选项。当你启动Code coverage,LLVM工具的代码去收集基于该方法和功能被调用的覆盖数据。code coverage选项可以收集数据,以报告测试的性能和正确性,无论是单元测试还是UI测试
你可以通过编辑scheme的测试行为来启动代码覆盖
-
从Scheme编辑菜单中现在编辑 Scheme
选择Scheme - 选择Test action
-
启用 Code Coverage复选框来收集覆盖数据。
启用Code Coverage - 点击Close
How Code Coverage Fits into Testing
代码覆盖率是衡量你测试量的一个工具。它解决了一下问题
- 当运行你的测试用例时那些代码在执行
- 你的测试用例是否足够
换句话说,你有没有足够的测试用例来检查你的所有的代码正确性和性能。 -
没有测试到那些部分的代码
当运行完测试用例,Xcode取得LLVM的覆盖数据并且用它生成覆盖报告,显示在覆盖窗口中。其中显示了测试运行的源文件和功能的列表,并提供了每一个的代码覆盖率。
代码覆盖率结果
源码编辑器显示了文件中的每一行代码,并高亮显示了未被执行的代码。它强调需要覆盖的区域而不是已经覆盖的区域。例如,移动鼠标到-[Calculator input:]方法在代码覆盖率报告上显示的按钮,会带你到注释的源代码。
查看源码
代码覆盖率的注释显示在左侧,并且显示了在执行测试期间被执行的次数。 例如:
覆盖代码示例
input:方法, 调用计数,在测试时频繁的被调用,然而,也有哪些没有被调用的方法。这清楚的被标记在源码编辑器中,如下:
未覆盖代码示例
这个报告的数据和显示给你一个机会去先一个测试用例,包括意外或无效字符,以确保错误的初始方式是你预料的。
网友评论