重放 0.0.1-beta1

Replay 0.0.1-beta1

Charles Legrand维护。



Replay 0.0.1-beta1

  • Charles Legrand

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 文件

设置模拟库参数 recordEnabletrue 后,则所有网络调用的 Json 文件将保存在您的内部应用文件文件夹中

internal_app_files_folder

使用 json 文件模拟 WS

设置模拟库参数 useMockEnabletrue 后,则每次网络调用都会尝试在 mock.bundle 文件(如有设置)和子文件夹(作为库中的 bundle 使用)中查找与之相关的文件(按名称关联)

创建名为 mocks.bundle 的文件夹,然后将您的 Json 文件添加进去,如下所示

mocks_bundle

如果未找到,则在内部应用文件文件夹中查找该文件

如果未找到,则执行原始网络调用