VCRURLConnection 0.2.5

VCRURLConnection 0.2.5

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布上次发布2018年7月

Dustin Barker 维护。



  • 作者:
  • Dustin Barker

Build Status

VCRURLConnection

VCRURLConnection 是一个用于录制和回放 HTTP 交互的 iOS 和 OSX API,受到 VCR 的启发。

VCRURLConnection 还处于非常早期的开发阶段,所有错误报告、功能请求和一般反馈都非常受重视!

录制

[VCR start];
 
NSString *path = @"http://example.com/example";
NSURL *url = [NSURL URLWithString:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];

// use either NSURLSession or NSURLConnection
NSURLSessionDataTask *task = [[NSURLSession sharedSession] dataTaskWithRequest:request];
[task resume];
 
// NSURLSession makes a real network request and VCRURLConnection
// will record the request/response pair.

// once async request is complete or application is ready to exit:
[VCR save:@"/path/to/cassette.json"]; // copy the output file into your project

回放

NSURL *cassetteURL = [NSURL fileURLWithPath:@"/path/to/cassette.json"];
[VCR loadCassetteWithContentsOfURL:cassetteURL];
[VCR start];

// request an HTTP interaction that was recorded to cassette.json
NSString *path = @"http://example.com/example";
NSURL *url = [NSURL URLWithString:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];

// use either NSURLSession or NSURLConnection
NSURLSessionDataTask *task = [[NSURLSession sharedSession] dataTaskWithRequest:request];
[task resume];
 
// The cassette has a recording for this request, so no network request
// is made. Instead NSURLConnectionDelegate methods are called with the
// previously recorded response.

安装

Carthage

将以下内容添加到您的 Cartfile 中

github "dstnbrkr/VCRURLConnection"

然后运行 $ carthage update

请遵循Carthage的README中的最新安装说明。

手册

  • 下载VCRURLConnection并尝试其中的示例应用
  • 将VCRURLConnection文件夹中的文件包含到您的测试目标中

入门

  • 运行一次您的测试以记录所有HTTP交互
  • 将记录的json文件(由[VCR save]返回的文件路径)复制到您的项目中
  • 后续的测试运行将使用记录的HTTP交互,而不是网络
  • 所有记录存储在单个JSON文件中,您可以手动编辑此文件

许可证

VCRURLConnection遵循MIT许可证发布

联系方式

Dustin Barker

[email protected]

VCRURLConnection使用了以下开源组件