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);
            }
        }];
    }
  • 相关阅读:
    建造者模式
    js日期转化(计算一周的日期)
    vue实现全选效果
    less入门
    使用node初始化项目
    ES5新语法forEach和map及封装原理
    es6中的promise对象
    深入理解jsonp跨域请求原理
    markdown语法与使用
    Ajax商品分类三级联动实现
  • 原文地址:https://www.cnblogs.com/cocoajin/p/4679446.html
Copyright © 2011-2022 走看看