美文网首页单元测试iOS DeveloperiOS开发
iOS中单元测试中的性能测试(二)

iOS中单元测试中的性能测试(二)

作者: ZhengYaWei | 来源:发表于2017-02-27 11:52 被阅读182次

    之前说过单元测试的一些基本测试发放和使用,这一篇文章说下单元测试中的性能测试。
    在没有单元测试之前,测试性能的方法是通过CACurrentMediaTime()计算时间差的方式进行性能测试的,还是以第一篇中创建的ZWTools为例子。

    //在没有单元测试之前,测试性能的方法是通过如下方法
         NSTimeInterval start = CACurrentMediaTime();
         for (int i = 0; i < 1000; i++) {
         ZWTools *tools = [[ZWTools alloc]init];
         //NSLog(@"%@",tools);
         }
         NSLog(@"%f",CACurrentMediaTime() - start);
    

    在有了单元测试之后,性能测试的方法就变化了。在第一篇文章中创建的ZWToolsTest.m文件中,系统默认生成如下一个方法。只要将测试性能的代码方法measureBlock方法中对应的block中即可,时间相关打印信息会自动打印。

    - (void)testPerformanceExample {
        [self measureBlock:^{
            //将需要测试时间的代码放在此处
       }];
    }
    

    具体实现测试性能的例子。

    - (void)testPerformanceExample {
        /*
         //在没有单元测试之前,测试性能的方法是通过如下方法
         NSTimeInterval start = CACurrentMediaTime();
         for (int i = 0; i < 1000; i++) {
         ZWTools *tools = [[ZWTools alloc]init];
         //NSLog(@"%@",tools);
         }
         NSLog(@"%f",CACurrentMediaTime() - start);
         */
        
        //单元测试性能的方法
        [self measureBlock:^{
            //将需要测试时间的代码放在此处
            for (int i = 0; i < 1000; i++) {
                ZWTools *tools = [[ZWTools alloc]init];
                NSLog(@"%@",tools);
            }
       }];
    }
    

    说明:性能测试中,相同的代码重复执行10次,最后统计计算时间和平均时间。性能测试代码一旦写好,可以随时测试。

    相关文章

      网友评论

        本文标题:iOS中单元测试中的性能测试(二)

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