2015-05-22 6 views
1

В настоящее время я использую OHTTPStub, чтобы издеваться над ответами моих вызовов AFNetworking. Вызовы AFNetworking возвращают либо успешный ответ, либо отказ от ответа.OHTTPS + AFNetworking Mocking the Failure Response

Если я создаю заглушку, используя метод responseWithJSONObject, который является единственным примером, предоставленным или обсуждаемым относительно OHTTPStubs, тогда выполняется успешный блок моих вызовов AFNetworking.

Итак, какой метод мне нужно вызвать, чтобы выполнить блок отказов моих методов AFNetworking.

Я уже пробовал метод «responseWithError» OHTTPStubs, который не вызывает ни успеха, ни отказа.

ответ

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, будет выполнять блок отказа.

Смежные вопросы