眾多Mock工具,你選對了嗎

語言: CN / TW / HK

現在大多數專案都是前後端分離模式開發,後端負責提供資料,前端通過API介面請求資料,但是通常情況下,前端需要等待後端的資料,常常受後端的束縛。 這時候,Mock則是前端人最後的倔強!

常見的Mock解決方案有兩種,一種是使用Postman進行Mock資料,另外一種是使用Mock js第三方庫進行Mock資料。Postman安裝容易,但 Postman必須手工填寫mock資料,而且只有一個配置可以寫入,在實際應用中不夠靈活,擴充套件性不強。Mock js雖然能mock出很多型別的資料,但是它需要嵌入在前端vue專案中結合使用,上手使用有一定的門檻。那有沒有更完美的Mock解決方案呢?那就是要推薦給大家的Eolink!

01 Eolink是什麼

Eolink是 結合了 API 設計、文件管理、自動化測試、監控、研發管理和團隊協作的一站式 API 生產平臺 ,還整合  Gitlab、Jenkins、釘釘、企業微信、飛書等平臺。其團隊早在2016年就釋出了國內第一個將Swagger、Postman、Mock等單點工具結合在一起的開源產品Eoapi,能快速解決API文件管理、快速測試、Mock、API自動化測試等問題。並在2017年正式釋出了全球第一個線上API全生命週期管理平臺,幫助全球開發者更高效的開發、測試和運維API,目前已發展為 國內API管理解決方案的領軍者 和國內最大的線上API管理服務供應商。

目前SaaS產品完全免費,你可使用web版,也可下載桌面端,Windows、Mac、Linux 平臺均支援!

Eolink官網: https://www.eolink.com/?utm_source=w3702

02 Eolink的Mock解決方案

Eolink的Mock功能到底有多強,我們展開看看!首先Eolink的 Mock功能非常完善,從一個整體 Mock到一個欄位級的 Mock都可以適應不同的情況。我相信大部分人每天都會用到,例如前後端專案開發,第三方介面的除錯,以及介面的自動化測試,幾個小時就能熟練地運用。我將其功能拆解成思維導圖的方式講解,這樣會更清晰易懂。

下面我將通過每個 Mock的業務上的例項來說明功能的特點,具體的 Mock的用法,還有一些具體的除錯和優化。

全域性Mock

特點:提供系統兜底的Mock規則,確保每個Mock呼叫的返回引數均有隨機資料。

全域性Mock是Eolink提供的最兜底或者最根本的一種Mock功能,主要是為了方便那些不想要附加 Mock的同學,提供一些簡單的Mock功能。

首先,需要編輯頁面的返回結果設定city欄位。

然後在文件底部Mock模組選擇系統預設期望連結並且點選複製到瀏覽器中。

每次重新整理瀏覽器,都會name欄位都會返回隨機字串,達到了每個Mock呼叫的返回引數均有隨機資料的效果。

體驗地址: https://www.eolink.com/?utm_source=w3702

高階Mock

特點:配置不同的請求引數,以獲得不同的返回資料。靈活全面的自定義配置,一個介面實現多種返回資料。

比如請求參 數的型別name欄位引數值是1、2、3,但是需要返回的結果返回不同的響應結果。 在實際專案中,為了降低前端配置Mock介面,可以通過一個介面實現配置不同的請求引數,獲取不同的返回資料。

可是使用動態Javascript通過程式碼生成返回資料時,JavaScript是一種支援面向物件程式設計、指令式程式設計和函數語言程式設計的網頁開發客戶端指令碼語言,可以使用編寫 Javascript 程式碼的方式,並使用 return 語句返回資料,而且這種方式最容易處理資料,本文中使用的就是這種方式。Javascript模式中也支援 Mock JS ,通過 Mock.mock() 方式呼叫,詳情可以查閱 Mock JS 官方文件。

通過編寫Javascript指令碼設定響應內容,還可以直接使用內建函式設定“請求體觸發條件”相關內容,設定的資訊等同於在“請求體觸發條件”輸入框中的設定,如設定Header引數或者請求體引數等,設定完成後,在測試時填寫對應的引數進行觸發。

示例:設定請求體引數,對觸發條件進行判斷輸出符合條件的數值判斷觸發條件“a”是否等於“eo_test”若等於則輸出“成功”,否則輸出“失敗”。

在請求引數中輸入status=1後,可以看出結果是code=1,這樣就是根據輸入條件動態mock返回資料的效果。當然,在“資料輸出”中,我們可以新增程式碼,對資料的合理性進行檢查,以確保資料的合理可信。

體驗地址: https://www.eolink.com/?utm_source=w3702

返回結果Mock

特點:編輯介面文件的返回結果的同時完成Mock規則配置。邊寫文件邊完成Mock配置,無需額外工作量。

在Mock規則區域,可直接在Mock規則輸入框中填寫固定值,Mock API呼叫時直接返回其固定值。

智慧內建Mock

特點:智慧識別常用返回引數,自動填入預置Mock規則。零配置,無形中完成Mock規則填寫。

系統已內建一套常用的智慧Mock規則,你無需做任何配置,在文件中編寫對應的欄位名則會出現對應的Mock規則。 實現Mock API零配置,無形中完成Mock規則填寫。

比如: 欄位名輸入time,Mock規則會自動識別匹配出內建Mock規則,@datetime('yyyy-MM-dd HH:mm:ss')這種Mock規則,使用者在使用過程中,使用效果無感知、不需要額外配置。

體驗地址: https://www.eolink.com/?utm_source=w3702

智慧自定義Mock

特點:智慧識別特殊返回引數,自動化填充自定義Mock規則。一次配置多次複用,提升Mock規則邊寫效率。

你可以通過智慧自定義Mock配置,使得你在文件中編寫某個欄位名後,系統自動填入對應的Mock規則。 實現欄位Mock規則一次配置,永久複用。 大大提高了工作效率,讓您在工作中游刃有餘。

把Mock規則和欄位名的匹配規則預先自定義好,然後後續可以在實際使用的時候,填寫對應的欄位名可以輸出對應的Mock規則。

比如

@ctitle: 隨機生成一句中文標題。

@cword:  隨機中文片語。

@datetime: 日期時間。

約束條件Mock

特點:根據欄位約束條件自動生成對應的Mock資料。欄位級多條件配置,還原最真實的隨機資料。

對返回引數欄位進行約束條件設定後,Mock規則輸入框會自動填入佔位符@eo.limit 並自動根據約束條件返回Mock資料。

在操作區域內點選更多設定,如欄位長度,最大值最小值,和值可能性等。

Eolink的Mock解決方案的優勢:

  • 能適配各種場景的Mock能力強;

  • 學習成本低,不需要額外編寫程式碼;

  • mock能力更加智慧,實現零配置;

  • mock服務和應用服務彼此分離,不會存在程式碼汙染;

體驗地址: https://www.eolink.com/?utm_source=w3702

03 結語

Eolink在Mock方面表現的很強大,適用於不同的業務場景和人群,通過以上兩種簡單和高階的呼叫,不同之處是簡單的 Mock配置簡單,而高階 Mock是基於簡單 Mock的增強,可以適應更加複雜的情況,結合多種智慧配置方式搭建的Mock API 能力體系,滿足了大部分使用者對Mock能力的需求。

目前SaaS產品完全免費,你可使用web版,也可下載桌面端,Windows、Mac、Linux 平臺均支援!

體驗地址: https://www.eolink.com/?utm_source=w3702

您也可以 掃碼加入官方微信群,領取API全生命週期管理資料 ,與開發團隊進行深入交流!

點選“ 閱讀原文 ”體驗