我目前正在使用OHTTPStub来模拟我的AFNetworking调用的响应。 AFNetworking调用返回成功响应或响应失败。
如果我使用" responseWithJSONObject"创建存根。方法,这是有关OHTTPStubs提供或讨论的唯一示例,然后我的AFNetworking调用的成功块始终执行。
那么,为了执行我的AFNetworking方法的失败块,我需要调用哪种方法。
我已经尝试过OHTTPStubs" responseWithError"方法,它不会调用成功或失败块。
答案 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接收的任何响应都将执行故障块。