Apifox 擁有強大的 Mock 功能,兼容 Mock.js 語法的同時還提供 Nunjucks 和自定義腳本支持,能夠滿足不同場景需求。
今天給大家分享一些常見業務場景的 Mock 使用技巧,當然,實現的方法不唯一。在開始之前,你需要將 Apifox 的當前環境切換為 「本地 Mock」 或 「雲端 Mock」 環境。
模擬簡單數據
要模擬一些簡單的數據,只需在 「返回響應」 裏定義字段,系統便會自動使用「智能 Mock」規則生成數據。
響應字段可以是簡單的數據結構,也可以是複雜的數據結構(如嵌套對象、數組等)。
通過 「智能 Mock」 自動生成的數據:
模擬列表數據
當頁面需要展示多條數據(如文章列表、商品列表等)時,要快速生成幾十條甚至幾百條數據,可以在 「高級 Mock」裏新建一個「期望」,並通過 Nunjucks 語法寫一個 for 循環即可。
或者更簡單一點,不使用「高級 Mock」,直接限定字段的 「最大/最小元素個數」 即可:
生成的示例數據:
模擬分頁數據
當數據需要分頁展示時,可以在「高級 Mock」裏面編寫腳本來模擬分頁數據。
自定義的腳本支持獲取接口的請求參數,你可以根據請求參數(比如當前頁、頁容量)來實現不同的業務邏輯。
例如現在設置一個 “總數據有 120 條,每頁的頁容量為 100 條,根據不同的頁碼返回不同數據” 的腳本,其腳本如下:
當前頁為 1,頁容量為 100 時,返回 100 條數據:
當前頁為 2,頁容量為 100 時,返回 20 條數據(因為總共 120 條數據,到第二頁時只剩 20 條):
當前頁為 3,頁容量為 100 時,返回 0 條數據(因為總共 120 條數據,到第三頁時已經沒有數據了),你也可以選擇在這裏定義“拋出錯誤”的腳本。
模擬請求延遲
在實際網絡環境中,接口響應會有一定的延遲。模擬延遲可以測試加載狀態下的頁面展示效果,確保用户體驗良好。
要模擬延遲非常簡單,只需要在「高級 Mock」的「期望」裏設置返回延遲時間即可:
模擬錯誤狀態
測試應用的錯誤處理和容錯機制時,可以模擬不同類型的錯誤響應,如 404 Not Found、500 Internal Server Error 等。
同模擬延遲一樣,模擬錯誤狀態也只需要在「高級 Mock」的「期望」裏設置返回的 HTTP 狀態碼即可:
其它數據模擬
誠然,通常使用 Mock 數據的請求主要是 GET 請求。然而,雖然 Apifox Mock 本身更加專注於模擬 GET 請求,但是你仍然可以使用一些技巧來模擬其他類型的請求,如 PUT、DELETE、POST 等。
假設你正在開發一條登錄接口,你可能會考慮登錄成功以及登錄失敗的情況,這時候就可以在「高級 Mock」裏新建不同的「期望」,以返回不同的預期。
Apifox 提供了多種 Mock 方法,能夠輕鬆生成演示數據,模擬各種場景,高效提升開發和測試效率。它既支持前端獨立開發,也可集成到 自動化測試 中,是接口開發調試的好幫手。
更多 Mock 相關知識:
- Mock 語法講解
- Mock.js 實例:快速入門