2015-05-22 68 views
1

我目前使用OHTTPStub模拟我的AFNetworking调用的响应。 AFNetworking调用返回成功响应或失败响应。OHTTPS + AFNetworking嘲笑失败响应

如果我使用“responseWithJSONObject”方法创建存根,这是有关OHTTPStubs提供或讨论的唯一示例,那么我的AFNetworking调用的成功块将始终执行。

那么,我需要调用什么方法来执行AFNetworking方法的失败块。

我已经尝试过OHTTPStubs的“responseWithError”方法,它不会调用成功或失败块。

回答

0

尝试添加此之前,您的请求作出。

NSDictionary *infoDictionary = @{ NSLocalizedFailureReasonErrorKey: @"Localized failure reason", NSLocalizedDescriptionKey: @"Localized description"};

NSError *error = [NSError errorWithDomain:@"YourDomainName" code:444 userInfo:infoDictionary];

[OHHTTPStubs stubRequestsPassingTest:^BOOL(NSURLRequest *request) { return YES; } withStubResponse:^OHHTTPStubsResponse *(NSURLRequest *request) { return [OHHTTPStubsResponse responseWithError:error]; }];

这将存根所有请求,并返回与状态码,444 The documentation for AFNetworking's acceptable status codes表明AFNetworking符合RFC 2616 The RFC 2616 documentation说,状态代码400-499应该用于客户端错误和500-599服务器错误。这意味着AFNetworking以状态代码400-599接收到的任何响应都将执行故障块。