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);
}
}];
}

xcode6 AsynchronousTesting 异步任务测试的更多相关文章

  1. AngularJS 的异步服务测试与Mocking

    测试 AngularJS 的异步服务 最近,在做项目时掉进了 AngularJS 异步调用 $q 测试的坑中,直接躺枪了.折腾了许久日子,终于想通了其中的道道,但并不确定是最佳的解决方案,最后还是决定 ...

  2. 对C# .Net4.5异步机制测试

    static void Main(string[] args) { Test(); // 这个方法其实是多余的, 本来可以直接写下面的方法 // await GetName() // 但是由于控制台的 ...

  3. Beautiful Report 异步并发测试html报告

    version_ :python3.7 下载BeautifulReport   https://github.com/TesterlifeRaymond/BeautifulReport/archive ...

  4. 141029 V7 异步通知测试,15分钟循环代码重构,同步更新payInfo测试,支付成功timer测试成功说明

    支付成功之后的1分钟定时任务:测试成功. 2014-10-29 17:16:06,892 DEBUG [http-bio-8086-exec-1] org.springframework.web.se ...

  5. Task 异步编程测试案例及基础应用说明

    对于多线程,我们经常使用的是Thread.在我们了解Task之前,如果我们要使用多核的功能可能就会自己来开线程,然而这种线程模型在.net 4.0之后被一种称为基于“任务的编程模型”所冲击,因为tas ...

  6. vertx异步编程测试

    vertx是异步编程的框架,性能较高,开发简单.异步编程就是当一个请求来了,vertx将其交由一个事件进行处理,然后继续向下执行,等处理完成,返回结果,通知客户端.这是一个由服务端反向调用客户端的过程 ...

  7. Xcode6.3真机测试无法选择目标机器问题

    Xcode刚刚升级到了6.3版本,但是真机测试出现了一点问题.对于某些手机无法选中,如下: 上图中的“xxoo的iPhone”无法选中,不过这个问题在stackoverflow中有解答,可以通过其他手 ...

  8. 对C# .Net4.5异步机制测试(二)——加深印象

    public static void Main() { Console.WriteLine(Thread.CurrentThread.ManagedThreadId); In(); Console.W ...

  9. 蛋疼的mocha库-promise异步测试

    mocha 测试库的使用 错误的处理异步测试 异步当出现断言错误的时候,他会抛出错误,但不会把这次测试当作失败,就是正确的顺利通过测试了,很无语. promise的reject会在then的第二个函数 ...

随机推荐

  1. C语言第4天循环,流程控制。

    C语言第四天 :first-child { margin-top: 0; } blockquote > :last-child { margin-bottom: 0; } img { borde ...

  2. mfc学生成绩录入与查询

    1.声明结构体 struct Person{ char name[8]; char yuwen[8]; char math[8];}; 2.成绩录入 在"保存"按钮中实现以下代码 ...

  3. node-webkit中使用sqlite3(MAC平台)

    前言 最近使用node-webkit开发一款博客发布软件,来替换难用的Windows Live Writer(主要是对Markdown标签的支持很差劲).为了解决博文信息临时保存的问题,想到了使用sq ...

  4. Refresh / Updating a form screen in Oracle D2k Forms 6i

    Refresh / Updating a form screen in Oracle D2k Forms 6i ProblemYou want to show number of records pr ...

  5. 基于ADL5317的雪崩光电二极管(APD)偏压控制/光功率监测电路的设计

    1 引言 目前,雪崩光电二极管(APD)作为一种高灵敏.能精确接收数据和测量光功率的光探测器件广泛应用于光纤传感.光纤通信网络中.它借助于内部强电场作用产生雪崩倍增效应,具有极高的内部增益(可达102 ...

  6. HUD 2203 亲和串

    HUD 2203 亲和串 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768K (Java/Others) [题目描述 - ...

  7. new的深一步

    new的深一步 new运算符 用于创建对象和条用构造函数 new修饰符 用于隐藏基类中被继承的成员 new约束 用于在泛型声明中约束可能用作类型参数的参数类型 new运算符 用于创建对象和调用构造函数 ...

  8. Spring环境的搭建与测试 (spring2.5.6)

    这里是采用的视频里面的spring版本 下载spring2.5.6, 然后进行解压缩,在解压目录中找到下面jar文件,拷贝到类路径下 dist\spring.jar lib\jakarta-commo ...

  9. iOS - UITableViewController

    前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UITableView : UIScrollView <NSCoding> @available(iOS ...

  10. JS实现复选框全选全不选以及子复选框带动全选框的选中

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...