iOS单元测试和UI测试全面解析(40)

发表于:2017-03-31来源:51CTO作者:朱先忠点击数: 标签:单元测试iOS
measure{ self.controllerUnderTest?.startDownload(track) } } 现在,请运行上面的测试,然后单击measure()闭包末尾的图标来观看统计信息。 单击Set Baseline(设置基准值)按钮
  measure { 
  •     self.controllerUnderTest?.startDownload(track) 
  •   } 
  • 现在,请运行上面的测试,然后单击measure()闭包末尾的图标来观看统计信息。

    单击“Set Baseline”(设置基准值)按钮,然后再次运行性能测试并查看结果——结果有可能比基准值更好或更糟。你可以点击Edit(编辑)按钮帮助您将基准值重置为这个新的结果。

    基准值在每个设备配置时存储起来,所以你可以让同一测试执行在若干台不同的设备上,并使每台设备保持一个不同的基准值——这要取决于处理器速度、内存等的具体配置情况。

    任何时候只要你更改一个应用程序,都有可能影响正在测试的方法的性能;你可以再次运行性能测试来观察当前值与基准值比较的结果。

    代码覆盖

    代码覆盖工具能够告诉你应用程序中的哪些代码实际上被您的测试运行过;这样一来,你就可以知道应用程序代码的哪些部分还没有被测试。

    【注意】在启用代码覆盖功能时你是否应该运行性能测试呢?苹果公司的文档(https://developer.apple.com/library/prerelease/content/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/07-code_coverage.html#//apple_ref/doc/uid/TP40014132-CH15-SW1)中是这样描述的︰代码覆盖数据集合会导致性能的下降……以线性方式影响代码的执行;因此,当启用代码覆盖功能时程序的性能将会因不同的测试运行而有所差异。但是,当你对你的测试中的例程要求极其严格时你应该认真考虑是否要启用代码覆盖支持。

    为了启用代码覆盖功能,你可以编辑一下你预先计划的测试(Test)操作并勾选“Code Coverage”复选框︰

    原文转自:http://mobile.51cto.com/iphone-535758.htm