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に準拠していることを示しています。サーバーエラーの場合。これは、ステータス コード 400 ~ 599 で AFNetworking が受信した応答が失敗ブロックを実行することを意味します。

于 2015-07-14T06:59:10.613 に答える