iOS 单元测试--异步测试
2017-04-25 本文已影响52人
改变自己_now
1、如果是后面添加的UnitTest的话需要按照下面的方法进行设置
1.复制Target(App) - Build Setting - Header Search Paths 的路径。
2.粘贴到Target(UnitTests) - Build Setting - Header - Search Paths里。
3.复制Target(App) - Build Setting - User-Defined - PODS_ROOT整条。
4.到Target(UnitTests) - Build Setting - User-Defined新建一条PODS_ROOT。
测试例子:
XCTestExpectation *exp = [self expectationWithDescription:@"异步测试失败"];
dispatch_async(dispatch_get_global_queue(0, 0), ^{
//模拟网络请求,需要两秒获取到数据
sleep(2);
// 2.获取到数据后的结果比较
XCTAssertEqual(@"a", @"a");
//3.如果断言没有问题就执行下面的方法
[exp fulfill];
});
// 设置超时时间
[self waitForExpectationsWithTimeout:3 handler:^(NSError * _Nullable error) {
if (error) {
NSLog(@"---error = %@",error);
}
}];