SenTestingKit/XCTestは非同期処理を待たずにテストケースを終了してしまうので、 直接SenTestingKit/XCTestを利用する場合には自分でNSRunLoopを回して処理の完了を待つ必要があります。 これまでSenTestCaseにfinishedフラグが追加されたサブクラスを使ったりしていたのですが、 どうしてもテストコードが明示的にならなくて悩んでいました。 いままで書いていたテストコードは以下のような感じです。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 - (void)testExample { // step 1 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(queue, ^