单元测试iOS DeveloperiOS开发

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

2017-02-27  本文已影响182人  ZhengYaWei

之前说过单元测试的一些基本测试发放和使用,这一篇文章说下单元测试中的性能测试。
在没有单元测试之前,测试性能的方法是通过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次,最后统计计算时间和平均时间。性能测试代码一旦写好,可以随时测试。

上一篇下一篇

猜你喜欢

热点阅读