mock詳解


一、Mock測試的含義

mock測試就是在測試過程中,對於某些不容易構造或者不容易獲取的對象,用一個虛擬的對象來創建以便測試的測試方法     

 

二、Mock的使用場景

1、mock接口測試解耦

做自動化測試時,我們最希望的就是某些業務關系的耦合度不要太高。   舉個電商系統的例子,我就想測試一下“確認收貨”功能,但是由於耦合度的關系,不得不從創建訂單、分配、出庫、發貨等流程走下去,最后才能到“收貨”。  前面的某個步驟運行失敗,導致后面的功能連串失敗,實際我們不關心前面的功能,就只想看看“收貨”功能,這樣就使得非常困擾。 

mock的出現使得我們可以直接自定義地創建某個接口的返回值,供下個接口調用。

 

2、mock處理服務端依賴

在項目開發過程中,大家有沒有遇到這類場景。  “后端開發還沒給我提供接口,我這個頁面沒法做啊”,前端開發比較依賴后端開發提供的接口,然后根據接口返回值設計各類場景頁面。當服務端開發人員未及時提供接口時可能會影響到前端開發及整個項目的進度。   特別是在敏捷開發中,對於上下游開發順序更加依賴、

mock可以模擬出未開發的接口,前端人員可以調用自定義返回值,提高開發效率

 

三、常見的三種mock方式

1、moco工具

運行環境: 

 

  • Java運行環境
  • moco-runner-0.12.0-standalone.jar   

運行步驟:

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)現在可以通過瀏覽器來訪問此接口地址:

http://localhost:5812/

瀏覽器結果返回成功 :

 

至此,使用moco的方式搭建Mock Server完成,此時使用Postman進行接口測試時可以直接調用此接口、

 

 

 

 

2、使用python下的mock庫

  python 2需要安裝mock庫  (pip install -U mock)

  python 3不用安裝,mock集成到unittest庫下面

-----------------------------未完待續-----------------------------------------

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM