次のコードの単体テストを行う必要があります。dispatch_async は、アプリのロジック シーケンスによってコードが実行されないことを意味します。タイムリーに実行する方法について何か考えはありますか?
ありがとうございました。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
[AdTracker dosomething];
});
次のコードの単体テストを行う必要があります。dispatch_async は、アプリのロジック シーケンスによってコードが実行されないことを意味します。タイムリーに実行する方法について何か考えはありますか?
ありがとうございました。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
[AdTracker dosomething];
});
http://www.mikeash.com/pyblog/friday-qa-2011-07-22-writing-unit-tests.htmlを参照してください。
+ (BOOL)waitFor2:(finishBlock)block {
NSTimeInterval timeoutInSeconds = 10.0;
NSDate* giveUpDate = [NSDate dateWithTimeIntervalSinceNow:timeoutInSeconds];
while (!block() && ([giveUpDate timeIntervalSinceNow] > 0)) {
NSDate *stopDate = [NSDate dateWithTimeIntervalSinceNow:1.0];
[[NSRunLoop currentRunLoop] runUntilDate:stopDate]; // un-blocking.
DLog(@"+++++ %@", [NSDate date]);
}
return block();
}