1、Mock測試的含義前端
mock測試就是在測試過程中,對於某些不容易構造或者不容易獲取的對象,用一個虛擬的對象來建立以便測試的測試方法 java
2、Mock的使用場景python
一、mock接口測試解耦json
作自動化測試時,咱們最但願的就是某些業務關係的耦合度不要過高。 舉個電商系統的例子,我就想測試一下「確認收貨」功能,可是因爲耦合度的關係,不得不從建立訂單、分配、出庫、發貨等流程走下去,最後才能到「收貨」。 前面的某個步驟運行失敗,致使後面的功能連串失敗,實際咱們不關心前面的功能,就只想看看「收貨」功能,這樣就使得很是困擾。 後端
mock的出現使得咱們能夠直接自定義地建立某個接口的返回值,供下個接口調用。api
二、mock處理服務端依賴瀏覽器
在項目開發過程當中,你們有沒有遇到這類場景。 「後端開發還沒給我提供接口,我這個頁面無法作啊」,前端開發比較依賴後端開發提供的接口,而後根據接口返回值設計各種場景頁面。當服務端開發人員未及時提供接口時可能會影響到前端開發及整個項目的進度。 特別是在敏捷開發中,對於上下游開發順序更加依賴、工具
mock能夠模擬出未開發的接口,前端人員能夠調用自定義返回值,提升開發效率測試
3、常見的三種mock方式spa
一、moco工具
運行環境:
運行步驟:
1)下載一個 moco-runner-0.12.1-standalone.jar 文件 ,下載地址如上
2)在與 moco-runner-0.12.1-standalone.jar 同級的目錄下建立 一個json 文件,例如 dai.json
dai.json文件裏面的內容以下:
[ { "description":"api測試", "request":{ "uri":"/getdemo", "method":"get" }, "response":{ "json": { "code" :1, "result" : "success", "tester" : "dx" } } } ]
3)控制檯啓動Mock Server服務
java -jar <path-to-moco-runner> https -p <monitor-port> -c < configuration -file> --https <path-to-cert.jks > --cert mocohttps --keystore mocohttps <path-to-moco-runner>:moco-runner-0.11.0-standalone.jar包的路徑 <monitor-port>:http服務監聽的端口 <configuration -file>:配置文件路徑 <path-to-cert.jks>:證書路徑
在moco的目錄下 運行 java -jar moco-runner-0.12.0-standalone.jar http -p 5812 -c dai.json (這就在本地啓動了一個http server,其中監聽端口是5812,配置文件是dai.jsonr)
當出現以下信息時表示Mock Server啓動成功:
4)如今能夠經過瀏覽器來訪問此接口地址:
瀏覽器結果返回成功 :
至此,使用moco的方式搭建Mock Server完成,此時使用Postman進行接口測試時能夠直接調用此接口、
二、使用python下的mock庫
python 2須要安裝mock庫 (pip install -U mock)
python 3不用安裝,mock集成到unittest庫下面
-----------------------------未完待續-----------------------------------------