## 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發現網絡延時生效
