我已经使用XCode 5做了一个iOS应用程序,现在我想为它做单元测试,我已经为登录服务编写了测试用例,但事情是请求正在形成但没有回应,当我们正常运行应用程序时,我们正在收到适当的响应,我已经用OCUnit测试了相同的服务,并且没有遇到任何问题。在使用XCTest测试Web服务时,我们必须注意哪些具体的事情xcode 5 xctest测试异步登录网络服务
1
A
回答
0
随着https://github.com/hfossli/AGAsyncTestHelper你可以写
- (void)testAsyncBlockCallback
{
__block BOOL jobDone = NO;
[Manager doSomeOperationOnDone:^(id data) {
jobDone = YES;
}];
WAIT_WHILE(!jobDone, 2.0);
}
0
hfossli宏观经济是好的,但输入不添加到runloo p故亦return immediately(挑起CPU的麻烦,据我了解,代码),这里的代码来解决这个问题:
NSRunLoop *runLoop = [NSRunLoop currentRunLoop];
[runLoop addPort:[NSMachPort port] forMode:NSDefaultRunLoopMode];
wile(waitingForBlock){
[runLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1f]];
}
朴素简单完整的示例使用与假想AFNetworking电话:
- (void)testSync{
__block BOOL waitingForBlock = YES;
[self.manager POST:k_WSERVICE_SYNC_ENDPOINT
parameters:nil
success:^(AFHTTPRequestOperation *operation, id responseObject) {
XCTAssertTrue(responseObject != nil, @"Sync: Got empty response, should have received something");
waitingForBlock = NO;
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
XCTFail(@"Sync: Failed to connet with error %@",error);
waitingForBlock = NO;
}];
NSRunLoop *runLoop = [NSRunLoop currentRunLoop];
[runLoop addPort:[NSMachPort port] forMode:NSDefaultRunLoopMode];
while(waitingForBlock){
[runLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1f]];
}
}
+0
我在这里使用while循环版本,但如果你是我的任何东西并且在你的心底痛恨while循环时,你知道如何用“for”一个来做:)(如果你没有,for(; waitingForBlock;){...}) – GiovaMaster
相关问题
- 1. XCTest的异步性能测试
- 2. 登录到网络服务
- 3. 网络服务器如何检测重播登录尝试?
- 4. 网络服务测试
- 5. PHP中的异步网络服务
- 6. 登录密码网络服务Java
- 7. Moodle网络服务登录问题
- 8. 用cookie登录iOS网络服务
- 9. 与登录网络服务器问题
- 10. XCTest为测试目标构建错误Xcode 5:
- 11. xcode 5中的XCTest - 测试失败,未生成任何问题
- 12. 使用SoapUI测试异步REST服务
- 13. 异步WCF Web服务负载测试
- 14. 测试异步注射服务
- 15. XCTest - “测试失败”
- 16. 用黄瓜测试网络服务
- 17. 网络服务和nunit测试
- 18. 编写Junit测试ServiceMix网络服务
- 19. 联邦快递网络服务测试
- 20. Apache网络服务器测试
- 21. 异步调用Web服务 - iPhone(PHP网络服务)
- 22. 简单的网络服务器或网络的测试框架
- 23. 如何在Android服务中异步任务网络操作?
- 24. 网络服务异常
- 25. 登录硬件,同步到网络
- 26. ASMX网络服务调试
- 27. Xcode UITest无法测试微信登录
- 28. 异步任务的网络错误
- 29. 为什么Objective-C/Swift中的异步网络测试困难?
- 30. XCTest UI测试UIElements大小
如果你不提供任何代码,很难有人能够帮助你。 – nKn
战利品进入这...这可以是有益的https://www.bignerdranch.com/blog/asynchronous-testing-with-xcode-6/ –