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