OHTTPS + AFNetworking模拟失败响应

时间:2015-05-22 15:04:19

标签: ios unit-testing afnetworking ohhttpstubs

我目前正在使用OHTTPStub来模拟我的AFNetworking调用的响应。 AFNetworking调用返回成功响应或响应失败。

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

那么,为了执行我的AFNetworking方法的失败块,我需要调用哪种方法。

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

1 个答案:

答案 0 :(得分: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接收的任何响应都将执行故障块。