属性匹配工具_测试工具链——高效构建Mock服务
現在,WEB系統的開發一般都采用前后端分離的架構,以及部分公司采用“前臺-中臺-后臺“的組織架構,難免會出現開發進度不一致的情況,導致系統聯調或測試需要等到所有依賴開發完成后才能夠進行,為不影響軟件開發、測試進度,消除等待浪費,因此引入了Mock服務。
本文主要介紹的Mock工具是Wiremock(一種開源的測試工具,Mock工具有很多種),其支持HTTP響應存根、請求驗證、配置響應延遲、代理/攔截、錄制和回放。
常見的Mock應用場景有如下幾個:
- 依賴接口尚未開發完成,需要進行接口聯調或自動化測試開發;
- 接口返回不滿足目前需求,目前的接口雖然已實現,但個別字段/返回不滿足目前的測試要求。
同時注意不要過于的依賴Mock接口服務。當實際接口開發完成后,測試人員需要對實際接口重新進行測試,避免出現實際接口與Mock接口不一致等情況,影響產品質量。同時可以延伸了解下契約測試,其測試理念有助于我們正確的理解Mock服務應用。接下來介紹WireMock的具體使用。
Wiremock安裝
最新下載地址(需要Java JDK環境):
http://repo1.maven.org/maven2/com/github/tomakehurst/wiremock-standalone/2.21.0/wiremock-standalone-2.21.0.jar官網地址:
http://wiremock.org/Github地址:
https://github.com/tomakehurst/wiremockWireMock啟動
在命令行中運行:
java -jar wiremock-standalone-2.21.0.jar -port 9999 --verbose啟動后在該目錄下生成__files 和 mappings兩個空的文件夾,如下圖。
- __files :是存放上傳、下載、錄制文件;
- mappings :存放request、response、url映射等信息;
舉一個簡單例子,我們在對應目錄下分別創建如下兩個文件。
文件內容如下,然后我們再次運行啟動命令,加載該mock服務。(注意,添加修改mapping文件后,需要重啟服務才能生效。)
TouTiao.json
TouTiao_Detail.json
此時,在瀏覽器中輸入http://localhost:9999/api/toutiao/,會看到該接口的響應內容,如下圖,此時我們完成了/api/toutiao/接口的Mock服務創建。
同時也支持xml等格式請求、響應體,如下。
Wiremock服務創建
接下來主要介紹在創建WireMock服務的時候,常用的幾種方法,主要分為兩部分(更多方法可參考WriemocK官網)。
- URL匹配方式
- 請求體/響應體匹配方式
URL匹配方式-精確匹配
URL匹配方式-模糊匹配(正則匹配)
如果URL符合正則匹配規則,則視為匹配。
請求體/響應體匹配-字符串相等
如果屬性值等于預期值,則視為匹配。
請求體/響應體匹配-JSON相等
請求體/響應體匹配-JSON屬性包含(多級嵌套JSON)
如果屬性存在于JSON中,則視為匹配。
請求體/響應體匹配-JSON屬性值相等(多級嵌套JSON)
如果屬性值等于預期值,則視為匹配。
若對你有所幫助,歡迎大家評論、留言。
總結
以上是生活随笔為你收集整理的属性匹配工具_测试工具链——高效构建Mock服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开启灯光就是近光吗_保时捷Macan大灯
- 下一篇: 威纶通触摸屏与单片机MODBUS_威纶通