• IOS测试覆盖率生成(XCode 4.6)


    然后test的BuildSettings里面   Generate TestCoverageFiles 和instrument Program Flow 设为YES
    然后在DerivedData相应的目录里面即会自动生成
    不需要添加libprofile_rt.dylib这个库 否则测试会卡住

    gcda文件 gcda文件可以用 coverstory(开源 从 google code上获得)

    最后一张图为CoverStory的截图 不过还有一些问题
    在应用的target里面设置覆盖率 得到的覆盖率会是100% 因为它只计算了测试用例的代码被运行的覆盖率 而没有计算被测源文件
    的覆盖率 因此

    在OCtest的target里面设置覆盖率 需要将被计量覆盖率的文件.m添加到 compile Source里面去

    后来查到应当是这些源文件需要按照*Test.m或者*Test.h来命名 这样 CoverStory可以将这些文件自动筛选出。

    此时文件夹中包含了testCase文件的覆盖率(100%)
    对覆盖率的结果有一些干扰 可以在TestCase的文件里面头尾添加
    // COV_NF_START 和 // COV_NF_END 就不会影响测试覆盖率的计算了
    另外,如果一些代码需要作为测试对象以外,也可以在代码的头尾加上

    貌似有些乱七八糟整理如下
    1.设置BuildSetting
    Generate TestCoverageFiles 和instrument Program Flow 设为YES
    2.在OCTestTarget的ComileSources中添加需要被测量测试覆盖率的.m文件
    3.在不需要测试的文件中添加// COV_NF_START 和 // COV_NF_END

    4.运行测试
    5.用Coverstory查看测试覆盖率结果



     


     




     

     
     
     


     





  • 相关阅读:
    3.for in循环
    2.break与continue
    1.XHTML框架结构
    lamda表达式在EF中的应用
    View数据呈现相关技术
    ASP.NET MVC 4 技术讲解
    ASP.NET MVC 相关的社群与讨论区
    C# 随机红包算法
    圆圈里带 小写字母,大写字母
    使用SQL语句 检测 MSSQL死锁
  • 原文地址:https://www.cnblogs.com/laoniu85/p/2961075.html
Copyright © 2020-2023  润新知