## Mock简介
* Mock是模拟对象的意思,用于进行被测组件对外依赖的模拟。
* Mock 是测试驱动开发必备之利器, 只要有状态, 有依赖, 做单元测试就不能没有 Mock
* 在 API 或 集成测试的时候, 如果依赖于第三方的 API, 也时常使用 mock server 或 mock proxy
## 如何使用
Sword已经完美集成了Mock,可以很方便地模拟动静态数据,也可以模拟网络延时,达到对接服务端的真实性与准确性。下面我们来看下如何在Sword中使用Mock
1. 我们到mock文件夹下创建demo.js

2. function则是创建一个mock函数,设定接口返回值
3. 然后将其export,定义为GET类型的接口,并且接口请求地址为 '/api/demo/detail'
4. 因为Sword默认端口为8888,所以访问的地址为 http://localhost:8888/api/demo/detail
5. 打开postman(一种很好用的接口调试工具,大家也可选型其他类型的工具),调用接口查看返回成功,一个mock接口创建成功

<br>
## Mock进阶
只是简单的返回一个固定的数据,没有网络请求延时,这样无法达到我们一些复杂业务场景的需求,所以我们需要对其进行更深一层次的定制。
### 根据请求参数动态判断,返回mock数据
1. 我们给mock接口传入数据,根据数据来动态展示接口返回
2. 代码如下操作,增加请求参数的动态获取

3. 主要就是根据req.query来获取传递的参数,打开postman查看一个简单的动态接口已经诞生

4. 优化返回数据

5. 再次打开postman调用接口发现返回效果与服务器接口一致

<br>
### 引入roadhog-api-doc模拟网络请求延时
1. mock数据模拟完毕后,发现请求耗时非常小,此时如果想模拟真实环境的网络延时,可以引入roadhog-api-doc模块,具体代码如下,我们将延时改为1秒

2. 打开postman发现网络延时生效
