Rec 1.0.1

Rec 1.0.1

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布上次发布2015年5月
SPM支持SPM

Esteban Torres维护。



Rec 1.0.1

https://cldup.com/Q0g0iZrPlT.png

辅助库,用于记录URL请求并将其本地保存(非常适合HTTP模拟中的固定值)


为什么?OHHTTPStubsRec错误代码待办事项


为什么?

@Orta曾告诉我,在Skype上,他们如何将一些方式融入到他们的API团队中,以便为每个调用拥有一个“样本”JSON(我在此处进行概括),因此他们可以使用“实际”样本数据并通过提供在开发时使用“离线”模式为应用程序的支持,例如等。

遗憾的是,我在一个每年开展多个项目的公司工作,不一定总是我们能控制API开发的部分,这使得添加“样本”JSON变得不那么容易。

OHHTTPStubs

引入了OHHTTPStubs;我开始为测试目的向我的项目中添加HTTP Stubs,并需要手动输入每个请求的URL,并将每个文件中生成的JSON保存到固定值文件夹以添加到测试用例。

作为一名工程师(更重要的一点是一个极其懒惰的人)我决定这是一个极其繁琐且缓慢的过程;那么……为什么不去自动化它呢?

Rec

这就是Rec发挥作用的地方;它是一个NSURLProtocol,可以拦截从NSURLSession(带有defaultSessionConfigurationephemeralSessionConfiguration)发出的每个NSURL请求,并将自己添加为连接的代理;一旦请求成功,框架就会将其保存到应用程序的Documents文件夹(在“Fixtures”文件夹下)。

Rec遵循了OHHTTPStubs的步骤并“自动”将其添加为监听器(它通过交换defaultSessionConfigurationephemeralSessionConfiguration并返回一个“预先配置”的会话配置对象来实现)。

错误代码

以下是“内部”错误代码的列表

  • -666:无法开始加载请求
  • -667:无法连接到URL
  • -668:无法正确将响应解析为JSON
  • -669:无法获取Document的目录路径
  • -670:无法提取请求的最后路径组件以生成文件名
  • -671:无法将文件保存到路径
  • -672: 无法从URL获取成功的响应。

待办事项

  • [ ] 支持其他响应(例如:xml等) • 问题 #1
  • [ ] 支持自定义「保存」路径 • 问题 #2
  • [ ] 支持禁用自动「注入」 • 问题 #3
  • [ ] 修复在示例应用中发生的竞争条件(在 println():eyes: 看着你 :unamused:)• 问题 #4
  • [x] 增加对 OS X 的支持问题 #5