Xcode: Unit test, Test long duration on background thread

การเขียน Unit test สำหรับ Method ที่มีการรันนาน หรือ รันที่ Thread อื่นและต้องมีการรอผล เช่น การเรียก HTTP Request เป็นต้น

@interface AppTests : XCTestCase

@end

@implementation AppTests

- (void)testWS
{
    XCTestExpectation *completionExpectation = [self expectationWithDescription:@"Long method"];
    
    // start thread
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
      // do something on another thread long duration
      [completionExpectation fulfill];
    }
   
    [self waitForExpectationsWithTimeout:5.0 handler:nil];
    
}

@end

About WK

Kajook is a Senior Software Engineer. Job is Design & Develop in Java EE environment on Glassfish. I'm Interested in Agile software development ,iOS and Android.
This entry was posted in knowledge and tagged , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s