ddf-mockablelib-ios
将mockablelib添加到您的应用中
在您的Podfile中添加
pod 'MockableLib', :path => 'absolute/or/relative/path/to/mockablelib'
然后
pod install
如何使用?
配置库
在您的MoyaProvider中添加插件
MoyaMockableConfig(
bundle: "bundleName",
recordEnable: false,
useMockEnable: true).setup()
示例
internal let provider = MoyaProvider<Api>(plugins: [NetworkLoggerPlugin(verbose: true), MoyaMockableConfig(bundle: "bundleName", recordEnable: false, useMockEnable: true).setup()])
- param1 : (默认 = "") 包名 => 记录/读取到单独的模拟文件夹(例如为user1记录json文件到名为user1的单独包中,然后为user2在user2包中,或者每个Moya客户端可以有它自己的包)
- param2 : (默认 = false) recordEnable => 当您想保存json文件时
- param3 : (默认 = false) useMockEnable => 当您想使用json文件时
您不能同时记录和使用模拟!
模拟文件命名规范
示例
网络调用 GET https://mydomain.com/_ah/api/user/v1.0/getUser
将创建名为
GET-_ah-api-user-v1.0-getUser.json
记录 Json 文件
设置模拟库参数 recordEnable 为 true 后,则所有网络调用的 Json 文件将保存在您的内部应用文件文件夹中
使用 json 文件模拟 WS
设置模拟库参数 useMockEnable 为 true 后,则每次网络调用都会尝试在 mock.bundle 文件(如有设置)和子文件夹(作为库中的 bundle 使用)中查找与之相关的文件(按名称关联)
创建名为 mocks.bundle 的文件夹,然后将您的 Json 文件添加进去,如下所示
如果未找到,则在内部应用文件文件夹中查找该文件
如果未找到,则执行原始网络调用