1

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

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

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

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

4

1 回答 1

1

在您提出请求之前尝试添加此内容。


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 的响应。AFNetworking 可接受状态代码的文档显示 AFNetworking 符合 RFC 2616。RFC 2616 文档说状态代码 400-499 应该用于客户端错误,而 500-599服务器错误。这意味着 AFNetworking 收到的任何状态码为 400-599 的响应都将执行失败块。

于 2015-07-14T06:59:10.613 回答