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 = ; i < ; i++) {
NSLog(@"%d",i);
}
}];
}