WebMock 2.0

WebMock 2.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最后发布2016年10月
SPM支持 SPM

维护者:Wojtek Lukaszuk.



  • Wojtek Lukaszuk

Webmock

适用于 iOS 和 macOS 的 HTTP/HTTPS 请求存根。它与 NSURLSession、AFNetworking、Alamofire 或任何使用 Cocoa URL 加载系统的网络框架一起工作。

功能

  • 存根 HTTP 和 HTTPS 请求。
  • 使用错误存根请求。
  • 使用 NSData、JSON 对象或文件 URL 定义响应。
  • 与 AFNetworking、Alamofire 等一起工作。
  • 仅存根您定义的请求。
  • 已测试。

使用方法

WebMock 使用会话配置的替换而不是默认配置。

let defaultConfiguration = NSURLSessionConfiguration.webmockDefaultSessionConfiguration()

let ephemeralConfiguration = NSURLSessionConfiguration.webmockEphemeralSessionConfiguration()

使用 NSData 存根请求

let data = "test".dataUsingEncoding(NSUTF8StringEncoding)
let response = Response(data: data)

let URL = NSURL(string: "https://www.google.com")!
let stub = Stub(method: .GET, URL: URL, response: response)

WebMock.startWithStubs([stub])

使用 JSON 对象存根请求

let json = ["testKey": "testValue"]
let response = Response(json: json)

let URL = NSURL(string: "https://www.google.com")!
let stub = Stub(method: .GET, URL: URL, response: response)

WebMock.startWithStubs([stub])

使用文件存根请求

let fileURL = bundle.pathForResource("test", ofType: "json")!
let response = Response(fileURL: fileURL)

let URL = NSURL(string: "https://www.google.com")!
let stub = Stub(method: .GET, URL: URL, response: response)

WebMock.startWithStubs([stub])

使用失败情况存根请求

let error = NSError(domain: NSInternalInconsistencyException,
                            code: 0,
                            userInfo: nil)        
let response = Response(error: error)

let URL = NSURL(string: "https://www.google.com")!
let stub = Stub(method: .GET, URL: URL, response: response)

WebMock.startWithStubs([stub])

您可以额外定义响应的头部字段和 HTTP 方法。

安装

手动

手动将文件添加到 Xcode 项目中。稍微简单一点,但更新也是手动的。

作者

Wojtek Lukaszuk @wojteklu

许可证

WebMock 依据 MIT 许可协议提供。查阅 LICENSE 文件获取更多信息。