這篇文章將教會大家如何利用 postman,通過 Mock 的方式測試我們的 API。
什么是 Mock
Mock 是一項特殊的測試技巧,可以在沒有依賴項的情況下進行單元測試。通常情況下,Mock 與其他方法的主要區別就是,用于取代代碼依賴項的模擬對象允許設置期望值。簡而言之,Mock 就是創建了一個對象,模擬真實對象的行為。
目的是什么
前端與后端的工作進度不同步,使得兩方團隊無法有效的完成工作。Postman 中的 Mock 服務器可以減輕團隊開發過程中的這種不同步問題。開發可以在不啟動后端的基礎上,查看預期的響應結果。是一種快速開發的過程。
意義何在
在 API 開發的前期,構建 Mock 集合可以幫助開發團隊之間清晰溝通,并盡快就預期結果達成一致。事實上,在開發過程中,所有的團隊都可以并行工作,相互依賴的工作可以減少延期。
什么是 Mock 服務
Mock 服務不是一個真實的服務,他只是一個被偽裝成真實服務的假服務。通過它,我們可以測試我們的 API 并檢查結果正確與否。Postman 允許我們創建兩種類型的 Mock 服務,私有的和公有的。
私有的 Mock 服務需要我們在請求頭里面添加 Postman API key,例如:x-api-key:
公有 Mock 服務可以被任何人訪問。所以使用過程中不需要添加 Postman API key。
如何使用 Postman 創建 Mock 服務
你可以點擊工具欄里面的"New"按鈕,或者在啟動 Postman 的時候也會彈出這個選項。
我們需要按照下面的步驟將 Mock 的完整內容添加到既有的集合里面,然后通過 Postman 的 Echo 服務模擬調用 API 的過程:
- 1.發送請求(R1)
- 2.將請求(R1)保存到集合里面(C1)
- 3.將請求(R1)的響應保存到集合里面(C1)
- 4.為集合 C1 創建一個 Mock(M1)
- 5.使用 Mock 服務(M1)發送一個請求
- 6.使用查詢參數進行匹配
步驟 1、發送請求(R1)
使用 Postman,發送一個?GET?請求到?https://postman-echo.com/get?test=123??響應結果如下圖所示:
步驟 2、將請求(R1)保存到集合里面(C1)
點擊?Save?按鈕打開?SAVE REQUEST?對話框。你可以將請求保存到既有的集合里面,也可以新建一個集合保存。這里我們新建一個集合?C1,后續可以在?Collections?頁簽里面查看。
步驟 3、將請求(R1)的響應保存到集合里面(C1)
點擊?Save Response?按鈕,保存請求 R1 的返回結果。
這會跳轉到下圖所示的界面,在這里,可以將請求響應信息保存起來作為示例使用,作為示例使用。我們把這個示例叫做?P**1**。
關于請求的方式、URL、狀態都很重要,可以用于評估創建的 Mock 會返回哪些響應。檢查一下所有的這些元素是否符合要求,之后再點擊?Save Example?按鈕。點擊左上角的返回按鈕返回請求創建器,就可以在右上角看到我們創建的示例了,把它添加到我們的請求里面。
步驟 4、為集合 C1 創建一個 Mock(M1)
在 Postman 中,點擊集合 C1 旁邊的箭頭 (?) 打開詳細信息頁面,如果要打開?MOCK COLLECTION?對話框,在?Mocks?頁簽下面,點擊?Create a Mock server?按鈕。在這里,你可以把你的 Mock 服務包括在特定的環境里面,或者選擇公有或者私有類型,作為默認的 Mock 服務類型。
當你 Mock 了某個集合之后,集合的詳細信息會顯示在 Mock 頁簽下面。你也可以看到 接下來的步驟里面需要 Mock 的 URL。
步驟 5、使用 Mock 服務(M1)發送一個請求
目前我們已經設計好了我們的 Mock 服務 M1,現在我們試著請求一下這個 Mock 的端口。復制這個 Mock 的 URL,然后粘貼到我們上一步創建的 Mock 服務的新請求里面。
Mock 服務的響應結果完全取決于你之前保存的示例以及包含的 URL 和請求方法類型。我們之前保存了一個示例,請求路徑是?/get,請求方法是?GET。因此,向?/get?路徑發送一個?GET?請求會得到符合我們預期的響應。
步驟 6、使用查詢參數進行匹配
Postman 對 Mock 服務的功能進行了擴展,可根據匹配的查詢參數返回不同的響應結果。Mock 服務會根據查詢參數匹配保存的示例。所以當你有且僅有查詢參數存在差異的時候,并且你希望在相同的請求路徑上為不同的查詢參數模擬不同的響應時,Postman Mock 服務器將返回與請求路徑和相應的查詢參數匹配的確切答案。
結語
我們已經了解了如何創建集合、保存請求、保存示例、創建 Mock 并使用。
Postman 帳戶每月提供有限數量的免費 Mock 服務器調用。你可以在 Postman API 或帳戶使用頁面查看你的使用限制。
同時,在這我為大家準備了一份軟件測試視頻教程(含面試、接口、自動化、性能測試等),就在下方,需要的可以直接去觀看。
【2025最新版】字節大牛講的最全最細的自動化測試全套教程!永久白嫖,拿走不謝,全程干貨無廢話!逼自己15天內學完,從軟件測試基礎到項目實戰一套全通關!