Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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.

About

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

Resources

License

You can’t perform that action at this time.