iOSにおけるユニットテストにおける性能テスト(二)

1301 ワード

ユニットテストの基本的なテストのリリースと使用については、ユニットテストのパフォーマンステストについて説明しています.ユニットテストがない前に、性能をテストする方法はCACurrentMediaTime()で時間差を計算する方法で性能テストを行うのか、第1編で作成した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回繰り返し、計算時間と平均時間を統計します.パフォーマンステストコードが作成されると、いつでもテストできます.