GYHttpMock

by hypoyao

hypoyao / GYHttpMock

Library for replacing part/all HTTP response based on Nocilla.

467 Stars 73 Forks Last release: Not found MIT License 57 Commits 1 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

GYHttpMock

Library for replacing part/all HTTP response based on Nocilla.

Features

  • Support NSURLConnection, NSURLSession.
  • Support replacing totally or partly HTTP response
  • Match requests with regular expressions.
  • Support json file for response

Installation with CocoaPods

To integrate GYHttpMock into your Xcode project using CocoaPods, specify it in your

Podfile
:
pod 'GYHttpMock'

Then, run the following command:

$ pod install

Usage

mocking a request before the real request anywhere.

Mock a simple request

It will return the default response, which is a 200 and an empty body.

mockRequest(@"GET", @"http://www.google.com");

Mock requests with regular expressions

mockRequest(@"GET", @"(.*?)google.com(.*?)".regex);

Mock a request with updating response partly

mockRequest(@"POST", @"http://www.google.com").
isUpdatePartResponseBody(YES).
withBody(@"{\"name\":\"abc\"}".regex);
andReturn(200).
withBody(@"{\"key\":\"value\"}");

Mock a request with json file response

mockRequest(@"POST", @"http://www.google.com").
isUpdatePartResponseBody(YES).
withBody(@"{\"name\":\"abc\"}".regex);
andReturn(200).
withBody(@"google.json");
Examle for update part response
orginal response:
{"data":{"id":"abc","location":"GZ"}}

updatedBody: google.json {"data":{"time":"today"}}

final resoponse: {"data":{"id":"abc","location":"GZ","time":"today"}}

All together

mockRequest(@"POST", @"http://www.google.com").
withHeaders(@{@"Accept": @"application/json"}).
withBody(@"\"name\":\"foo\"".regex).
isUpdatePartResponseBody(YES).
andReturn(200).
withHeaders(@{@"Content-Type": @"application/json"}).
withBody(@"google.json");

Add log

[GYHttpMock sharedInstance].logBlock = ^(NSString *logStr) {
    NSLOG(@"%@", logStr);
};

License

GYHttpMock is released under the MIT license. See LICENSE for details.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.