這篇文章將教會大家如何利用 Postman,通過 Mock 的方式測試我們的 API。
什么是 Mock
Mock 是一項特殊的測試技巧,可以在沒有依賴項的情況下進(jìn)行單元測試。通常情況下,Mock 與其他方法的主要區(qū)別就是,用于取代代碼依賴項的模擬對象允許設(shè)置期望值。簡而言之,Mock 就是創(chuàng)建了一個對象,模擬真實對象的行為。
目的是什么
前端與后端的工作進(jìn)度不同步,使得兩方團(tuán)隊無法有效的完成工作。Postman 中的 Mock 服務(wù)器可以減輕團(tuán)隊開發(fā)過程中的這種不同步問題。開發(fā)可以在不啟動后端的基礎(chǔ)上,查看預(yù)期的響應(yīng)結(jié)果。是一種快速開發(fā)的過程。
意義何在
在 API 開發(fā)的前期,構(gòu)建 Mock 集合可以幫助開發(fā)團(tuán)隊之間清晰溝通,并盡快就預(yù)期結(jié)果達(dá)成一致。事實上,在開發(fā)過程中,所有的團(tuán)隊都可以并行工作,相互依賴的工作可以減少延期。
什么是 Mock 服務(wù)
Mock 服務(wù)不是一個真實的服務(wù),他只是一個被偽裝成真實服務(wù)的假服務(wù)。通過它,我們可以測試我們的 API 并檢查結(jié)果正確與否。Postman 允許我們創(chuàng)建兩種類型的 Mock 服務(wù),私有的和公有的。
私有的 Mock 服務(wù)需要我們在請求頭里面添加 Postman API key,例如:x-api-key:
公有 Mock 服務(wù)可以被任何人訪問。所以使用過程中不需要添加 Postman API key。
如何使用 Postman 創(chuàng)建 Mock 服務(wù)
你可以點擊工具欄里面的"New"按鈕,或者在啟動 Postman 的時候也會彈出這個選項。
我們需要按照下面的步驟將 Mock 的完整內(nèi)容添加到既有的集合里面,然后通過 Postman 的 Echo 服務(wù)模擬調(diào)用 API 的過程:
- 1.發(fā)送請求(R1)
- 2.將請求(R1)保存到集合里面(C1)
- 3.將請求(R1)的響應(yīng)保存到集合里面(C1)
- 4.為集合 C1 創(chuàng)建一個 Mock(M1)
- 5.使用 Mock 服務(wù)(M1)發(fā)送一個請求
- 6.使用查詢參數(shù)進(jìn)行匹配
步驟 1、發(fā)送請求(R1)
使用 Postman,發(fā)送一個?GET?請求到?https://postman-echo.com/get?test=123??響應(yīng)結(jié)果如下圖所示:
步驟 2、將請求(R1)保存到集合里面(C1)
點擊?Save?按鈕打開?SAVE REQUEST?對話框。你可以將請求保存到既有的集合里面,也可以新建一個集合保存。這里我們新建一個集合?C1,后續(xù)可以在?Collections?頁簽里面查看。
步驟 3、將請求(R1)的響應(yīng)保存到集合里面(C1)
點擊?Save Response?按鈕,保存請求 R1 的返回結(jié)果。
這會跳轉(zhuǎn)到下圖所示的界面,在這里,可以將請求響應(yīng)信息保存起來作為示例使用,作為示例使用。我們把這個示例叫做?P**1**。
關(guān)于請求的方式、URL、狀態(tài)都很重要,可以用于評估創(chuàng)建的 Mock 會返回哪些響應(yīng)。檢查一下所有的這些元素是否符合要求,之后再點擊?Save Example?按鈕。點擊左上角的返回按鈕返回請求創(chuàng)建器,就可以在右上角看到我們創(chuàng)建的示例了,把它添加到我們的請求里面。
步驟 4、為集合 C1 創(chuàng)建一個 Mock(M1)
在 Postman 中,點擊集合 C1 旁邊的箭頭 (?) 打開詳細(xì)信息頁面,如果要打開?MOCK COLLECTION?對話框,在?Mocks?頁簽下面,點擊?Create a Mock server?按鈕。在這里,你可以把你的 Mock 服務(wù)包括在特定的環(huán)境里面,或者選擇公有或者私有類型,作為默認(rèn)的 Mock 服務(wù)類型。
當(dāng)你 Mock 了某個集合之后,集合的詳細(xì)信息會顯示在 Mock 頁簽下面。你也可以看到 接下來的步驟里面需要 Mock 的 URL。
步驟 5、使用 Mock 服務(wù)(M1)發(fā)送一個請求
目前我們已經(jīng)設(shè)計好了我們的 Mock 服務(wù) M1,現(xiàn)在我們試著請求一下這個 Mock 的端口。復(fù)制這個 Mock 的 URL,然后粘貼到我們上一步創(chuàng)建的 Mock 服務(wù)的新請求里面。
Mock 服務(wù)的響應(yīng)結(jié)果完全取決于你之前保存的示例以及包含的 URL 和請求方法類型。我們之前保存了一個示例,請求路徑是?/get,請求方法是?GET。因此,向?/get?路徑發(fā)送一個?GET?請求會得到符合我們預(yù)期的響應(yīng)。
步驟 6、使用查詢參數(shù)進(jìn)行匹配
Postman 對 Mock 服務(wù)的功能進(jìn)行了擴(kuò)展,可根據(jù)匹配的查詢參數(shù)返回不同的響應(yīng)結(jié)果。Mock 服務(wù)會根據(jù)查詢參數(shù)匹配保存的示例。所以當(dāng)你有且僅有查詢參數(shù)存在差異的時候,并且你希望在相同的請求路徑上為不同的查詢參數(shù)模擬不同的響應(yīng)時,Postman Mock 服務(wù)器將返回與請求路徑和相應(yīng)的查詢參數(shù)匹配的確切答案。
結(jié)語
我們已經(jīng)了解了如何創(chuàng)建集合、保存請求、保存示例、創(chuàng)建 Mock 并使用。
Postman 帳戶每月提供有限數(shù)量的免費 Mock 服務(wù)器調(diào)用。你可以在 Postman API 或帳戶使用頁面查看你的使用限制。
如果上文漏掉了什么內(nèi)容,歡迎留言補(bǔ)充。文章來源:http://www.zghlxwxcb.cn/news/detail-707804.html
正在做測試的朋友可以進(jìn)來交流,群里給大家整理了大量學(xué)習(xí)資料和面試題項目簡歷等等....文章來源地址http://www.zghlxwxcb.cn/news/detail-707804.html
到了這里,關(guān)于使用Postman創(chuàng)建Mock Server的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!