XChanger
XChange 允许我们轻松地使用 URL 进行模拟响应。
用法
在开始注册模拟之前,您需要在一些启动点调用一句话,例如 @main
、AppDelegate
、SceneDelegate
或单元测试方法的开始处调用 XChanger.register()
。
XChanger.register()
然后,使用 URL 请求作为键传递响应模拟数据。以下是一个对 URL https://exmaple.com/v1/users/10
的示例,将返回 status 200 的响应体为 {"id": 10, "name": "bannzai"}
。
struct User {
var id: Int
var name: String
}
let url = "https://exmaple.com/v1/users/10"
let json = try! JSONEncoder().encode(User(id: 10, name: "bannzai"))
XChanger.exchange().request(url: url).response(data: json, statusCode: 200).enable()
最后,您可以正常发送 URLRequest,并可以看到响应正是您定义的。
let request = URLRequest(url: URL(string: "https://exmaple.com/v1/users/10")!)
let session = URLSession(configuration: URLSessionConfiguration.default)
session.dataTask(with: request) { data, response, error in
guard let httpResponse = response as? HTTPURLResponse else {
return fatalError("Unexpected response type of HTTPURLResponse")
}
print(httpResponse.statusCode) // 200
let decoded = try! JSONDecoder().decode(User.self, from: data!)
print(decoded) // User(id: 10, name: "bannzai")
}.resume()
安装
CocoaPods
pod 'XChanger', configuration: %w(Debug)
Swift 包管理器
Xcode
在“打开”菜单中选择“文件”>“Swift 包”>“添加包依赖”... 并输入仓库 URL https://github.com/bannzai/XChanger。这份文档也将对你有所帮助。
作为依赖使用
将以下内容添加到您的 Package.swift 文件的 dependencies 区段
.package(url: "https://github.com/bannzai/XChanger.git", from: "0.0.1")
许可证
XChanger 以 MIT 许可证发布。有关详细信息,请参阅 LICENSE 文件。