xcode6 AsynchronousTesting 异步任务测试

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);
        }
    }];
}
复制代码

 

posted @   cocoajin  阅读(328)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2013-07-27 关键帧动画实现圆弧动画
点击右上角即可分享
微信分享提示