NSURLConnectionVCR 0.0.1

NSURLConnectionVCR 0.0.1

测试已测试
语言语言 Obj-CObjective C
许可证 BSD
版本最近发布2014年12月

未确认维护。



  • Martijn Thé

NSURLConnectionVCR

NSURLConnectionVCR提供了一种简便的方法来记录和回放NSURLConnection请求/响应。通过去除对外部Web服务器的依赖,您的测试将运行得更快且更加确定。别担心,不需要更改您现有的基于NSURLConnection的代码。NSURLConnectionVCR通过在运行时通过'混入'实现来挂钩到NSURLConnection

本项目受到Myron Marston的Ruby on Rails VCR的启发。

入门

首先,启动VCR并指定一个存储路径

[NSURLConnectionVCR startVCRWithPath:@"fixtures/vcr_cassettes" error:nil];

然后使用NSURLConnection执行一个请求

NSURL* url = [NSURL URLWithString:@"http://api.example.com/fancy.json"];
NSURLRequest* request = [NSURLRequest requestWithURL:url];
NSHTTPURLResponse* response = nil;
NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];

首次运行这段代码,它将执行请求并将响应存储在指定的路径的文件中。再次运行,VCR将回放从磁盘记录的响应,无需调用Web服务器。

完成测试后,可选地关闭VCR

[NSURLConnection stopVCRWithError:nil];

将NSURLConnectionVCR添加到您的项目中

要求

  • Mac OS X 10.7 SDK或更高版
  • iOS 5.0 SDK或更高版
  • ARC(自动引用计数)

只需将NSURLConnectionVCR.mNSURLConnectionVCR.h添加到您的项目中。没有外部依赖,当然除了Foundation框架和Objective C运行时。

Quicklook插件

NSURLConnectionVCR为每个唯一的请求创建一个文件,并将其存储在指定的路径。提供的Quicklook插件使基本检查这些缓存文件变得方便。缓存文件基本上是一个包含请求完成后返回的NSURLResponseNSData的存档。缓存文件的名称是原始NSURLRequest的MD5摘要。Quicklook预览显示响应数据,并将原始URL和HTTP状态码作为预览窗口的标题。

许可证

版权所有 (c) 2012, Martijn The。保留所有权利。

在以下条件下,允许重新分发和使用源代码和二进制形式,无论是修改后还是未经修改:

源代码的重新分发必须保留上述版权声明、本许可条款以及以下免责声明。以二进制形式进行重新分发时,必须在文档和/或其他随分发提供的材料中重新复制上述版权声明、本许可条款以及以下免责声明。此软件由版权所有者和贡献者提供,"原样"提供,不提供任何明示或暗示的保证,包括但不限于适销性和针对特定目的的适用性保证。在任何情况下,版权所有者或贡献者不应对任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论此类损害是由于何种原因引起的,无论根据何种责任理论,包括因使用此软件而引起的,即使已告知可能发生此类损害。