xcode集成了非常方便的测试框架,XCTest
在xcode6之后,提供了 <XCTest/XCTestCase+AsynchronousTesting.h>
利用此我们可以直接在XCTest里面测试一些异步的任务,比如异步网络请求
如下示例
- (void)testExample { XCTestExpectation *exception = [self expectationWithDescription:@"TestException"]; [NSURLConnection sendAsynchronousRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://httpbin.org/get"]] queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { XCTAssertNil(connectionError,@"connectionError should nil"); NSLog(@"%@",[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]); [exception fulfill]; }]; [self waitForExpectationsWithTimeout:5.0f handler:nil]; }
另外 可以使用 measureBlock 测试性能:
- (void)testPerformanceExample { // This is an example of a performance test case. [self measureBlock:^{ for (int i = 0; i < 10; i++) { NSLog(@"%d",i); } }]; }