之前說過單元測試的一些基本測試發(fā)放和使用,這一篇文章說下單元測試中的性能測試谴咸。
在沒有單元測試之前净刮,測試性能的方法是通過CACurrentMediaTime()計(jì)算時(shí)間差的方式進(jìn)行性能測試的谓晌,還是以第一篇中創(chuàng)建的ZWTools為例子。
//在沒有單元測試之前蚕涤,測試性能的方法是通過如下方法
NSTimeInterval start = CACurrentMediaTime();
for (int i = 0; i < 1000; i++) {
ZWTools *tools = [[ZWTools alloc]init];
//NSLog(@"%@",tools);
}
NSLog(@"%f",CACurrentMediaTime() - start);
在有了單元測試之后筐赔,性能測試的方法就變化了。在第一篇文章中創(chuàng)建的ZWToolsTest.m文件中揖铜,系統(tǒng)默認(rèn)生成如下一個(gè)方法茴丰。只要將測試性能的代碼方法measureBlock方法中對應(yīng)的block中即可,時(shí)間相關(guān)打印信息會自動打印天吓。
- (void)testPerformanceExample {
[self measureBlock:^{
//將需要測試時(shí)間的代碼放在此處
}];
}
具體實(shí)現(xiàn)測試性能的例子贿肩。
- (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:^{
//將需要測試時(shí)間的代碼放在此處
for (int i = 0; i < 1000; i++) {
ZWTools *tools = [[ZWTools alloc]init];
NSLog(@"%@",tools);
}
}];
}
說明:性能測試中龄寞,相同的代碼重復(fù)執(zhí)行10次汰规,最后統(tǒng)計(jì)計(jì)算時(shí)間和平均時(shí)間。性能測試代碼一旦寫好物邑,可以隨時(shí)測試溜哮。