我正在尝试通过单元测试对我的应用程序进行一些压力测试,但遇到了一些问题。下面是我的代码:
//Stress test api and core data
__block BOOL done = NO;
for (int i = 0; i < 100 ; i++) {
DLog(@"in here");
[viewController createList:testList
success:^(Lists *list) {
DLog(@"in success block : %d", i);
STAssertNotNil(list, @"list is not nil");
done = (i == 99);
}
failure:^(NSError *error) {
DLog(@"in fail block");
}
];
}
@autoreleasepool {
while (!done) {
// This executes another run loop.
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
}
}
问题是,经过几次迭代后,我在线上遇到了错误的访问错误
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
因为这篇文章,我已经把while
循环放在了。我在项目中使用ARC,所以我不知道这是否会导致问题..?我需要使用来强制单元测试等待块完成。@autorelease
NSRunLoop
有没有人遇到过这个问题?