海蜇鱼
这是什么?
海蜇鱼是一个库,可以解析.api
文件并根据文件内容模拟所有网络请求。
待办事项
- 读取
.api
文件并模拟请求 - 自定义匹配处理程序
- 提供匹配JSON模式的选择
愿景
在测试环境中,Jellyfish
应作为应用的API端点。
UI 测试
和单元测试
不需要使用此框架模拟网络请求。
在生产环境中,我们只需移除Jellyfish
,应用应向生产服务器发送请求并正常运行。
依赖项
用法
使用.apib
文件启动stub
import Jellyfish
var jellyfish: Jellyfish = Jellyfish()
jellyfish.stub(docPath: Bundle.main.path(forResource: "testing_normal_blueprint", ofType: "apib")!)
停止stub
jellyfish.stop()
使用URLSessionConfiguration
时,需要调用.jellyfishConfiguration
例如,与Alamofire
一起使用时
import Alamofire
sessionManager = Alamofire.SessionManager(configuration: .jellyfishConfiguration)
sessionManager.request("https://example.com/message").responseString { result in
print("==================Alamofire")
print(result.description)
}
您可以使用addMatcher(to:)
覆盖默认匹配器函数
jellyfish.addMatcher(to: "/message") { req in
let str: String = "This is a message"
return APIResponse(headers: ["Server": "Custom Handler"], responseCode: 200, body: str.data(using: .utf8)!)
}