美文网首页iOS精品文章-单元测试程序员iOS Developer
翻译:使用Xcode测试(六)——代码覆盖率(Code Cove

翻译:使用Xcode测试(六)——代码覆盖率(Code Cove

作者: 栗子烤肉 | 来源:发表于2016-08-27 08:46 被阅读457次

    代码覆盖率是Xcode7的功能,可以在视觉上看到和衡量你的代码测试覆盖率。有了代码覆盖率,你可以确定测试是否符合你的预期。

    启用代码覆盖率

    Xcode的代码覆盖率由LLVM支持的测试操作。当你启用代码覆盖率,LLVM基于方法和函数调用的频率来收集覆盖数据。代码覆盖率选项可以收集单元测试和UI测试正确性和性能数据,

    编辑scheme的测试操作可以启用代码覆盖率。

    1.在scheme编辑菜单中选择Edit Scheme。


    2.选择测试操作。
    3.勾选代码覆盖率复选框收集覆盖率数据。


    4.点击关闭。

    注意:收集代码覆盖率数据会导致性能损耗。无论损耗是否显著,它均会影响执行代码的线性方式,因此在测试运行中启用代码覆盖率,性能结果依然具有可比性。然而,当你正在认真评估测试程序性能时,你应该考虑是否启用代码覆盖率。

    代码覆盖率如何符合测试

    代码覆盖率是用来衡量测试价值的工具。它回答了以下问题

    • 当你运行测试时,什么代码真正运行?
    • 多少测试才算足够?
    • 换句话说,你是否设计足够的测试确保你所有的代码都检查了正确性和性能?
    • 代码的哪部分没有被测试?

    在测试运行完成后,Xcode采用LLVM覆盖数据并在报告导航中创建覆盖率报告,参见覆盖率面板。它显示了测试的摘要信息,源文件和源文件中的方法列表以及每个文件中的覆盖百分比。


    源代码编辑器展示了文件中代码的行数并高亮未执行的代码。它高亮需要覆盖的代码区域而非已经覆盖的区域。

    例如,将指针放在 -[Calculator input:] 方法上,将显示一个按钮,将你导航到源代码。


    覆盖注释在右边显示,显示了在测试中代码某个特定部分被执行的次数。例如:

    input: 方法,在测试中被频繁调用。然而,有部分方法并未被调用。在源代码编辑器中有明显的标记,如图:


    报告数据和显示建议编写一个测试,包括意外或无效的字符确保错误按照你的方式处理。

    官方原文地址:

    https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/07-code_coverage.html#//apple_ref/doc/uid/TP40014132-CH15-SW1

    相关文章

      网友评论

        本文标题:翻译:使用Xcode测试(六)——代码覆盖率(Code Cove

        本文链接:https://www.haomeiwen.com/subject/mxzisttx.html