現在都是前後端分離架構,一般是後端人員先設計好接口定義,然後前端人員就可以根據接口定義進行開發了,前期前後端獨立開發,互相不影響。
那麼問題來了,如果到了中後期,前端開發完了,後端還沒開發完,那前端要傻傻地等後端開發完再聯調測試嗎?到那時,就太晚了,前端的品質就沒法保證,一般後端要弄個 Mock 測試,後端提供接口虛拟資料讓前端能夠提前測試,待後端開發完後再進行真實資料的聯調。
前面棧長介紹了一款阿裡巴巴開源的 Mock 工具:TestableMock,該工具号稱最輕量、簡單、舒适的 Mock 測試工具,功能十分強大,還能和單元測試內建,不挑架構,點選上面的連結可以看詳細介紹及實戰教程。這個工具是後端單元測試內建時用的,并不能用作前端的 Mock 獨立測試。
也許現在還有人在用寫代碼的方式造假資料,那太低效了,今天棧長就介紹一款簡單的 Mock 測試方法,能讓前端獨立開發、模拟測試,Postman 就能搞定!
一、建立 Mock Server
本文,棧長以最新的 Postman 8.0.6 為例進行示範。
打開 Postman,并切換到 Mock Servers 面闆:

可以看到 Mock Server 的定義:
Mock servers let you simulate endpoints and their corresponding responses in a collection without actually setting up a back end.
翻譯一下:
Mock 伺服器可以讓你模拟端點及對應的響應,而無需設定後端。
點選 "Create new Mock Server" 文字,開始建立一個新的 Mock Server。
這裡棧長選擇建立一個新集合(也可以選擇已有的集合),然後建立了兩個請求及對應的模拟響應資料。
下一步,開始進入 Mock Server 相關配置:
輸入 Mock 伺服器名稱,選中儲存伺服器 URL 為環境變量選項,最後完成 Mock Server 建立:
建立完後需要做兩件事:
1、為每個請求添加 Mock Server 示例響應;
示例添加參考資料:
https://go.pstmn.io/docs-examples2、發送 Mock Server Url 請求;
Mock Url 如下:
https://41783d96-2f22-4ed6-ac64-62187a0ee521.mock.pstmn.io這是個公網連結,隻有有網,前端就能聯調測試。
二、發起 Mock 請求
打開集合(Collections)面闆:
可以看到已經建立的 javastack-mock 集合,及之前建立的兩個請求及預設示例響應,以及建立的 Mock Server Url 環境變量。
既然已經生成了預設的示例響應,那麼直接開始發起 Mock 請求吧,選中一個 get 請求,發起請求:
如圖所示:響應傳回了預設的示例響應資料。
三、添加自定義示例
實際測試過程中,預設的示例響應資料可能不能滿足要求,可以再新增自定義示例,根據增加請求參數來判斷走哪個示例,如現在添加一個示例:
為這個示例響應增加了 name 參數和不同的響應資料:
然後再回到 get 請求,加上 name 參數:
發起請求,可以看到現在 get 請求走的是新建立的示例,而沒有走預設的,就是根據新加的參數來判定的,隻要 URL 和參數比對就會走對應的示例。
四、Mock 曆史記錄
回到 Mock Server 面闆:
可以看到 Mock Server 曆史請求記錄。
随便點開一條記錄可以看請求、響應詳細資料:
總結
今天主要分享了 Postman Mock Server 的使用,其他更多的細節可以再自己摸索哦。
不管你是做前端的還是做後端的,如果你有這方面的 Mock 需求,公司又沒有 Mock 流程和規範,那都可以拿起 Postman 試試,畢竟它很簡單、友善,可以很輕松的實作一個 Mock Server,而不必寫任何代碼,難道不香嗎?
好了,今天的分享就到這了,後面我還會陸續分享更多好玩的開發技術,關注公衆号Java技術棧第一時間推送。
你有更多好玩的東西,也歡迎留言分享!