zoukankan      html  css  js  c++  java
  • 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);
            }
        }];
    }
  • 相关阅读:
    Spring boot 梳理
    Spring boot 梳理
    Spring boot 梳理
    观察者模式
    设计模式原则
    Spring MVC上传文件
    Spring MVC视图解析器
    Spring MVC中Action使用总结
    Spring MVC控制器
    Java并发 两个线程交替执行和死锁
  • 原文地址:https://www.cnblogs.com/cocoajin/p/4679446.html
Copyright © 2011-2022 走看看