mock測試
unittest中mock測試核心對象是mock.Mock()
一、什么是mock測試
mock是在測試過程中,對於一些不容易構造/獲取的對象,創建一個mock對象來模擬對象的行為
二、什么情況下會用到mock
單元測試/接口測試中測試對象依賴其他對象,這些對象的構造復雜、耗時、或者根本無法構造(未交付)
- 應用場景一:項目初期,某個復雜的接口概念尚未實現?只有接口文檔,此時如何開展自動化工作
- 登錄接口:http://127.0.0.1:8000/login
- 參數:user:賬號 pwd:密碼 sign_id:通過秘鑰進行加密生成用戶簽名
- 返回值:{"code":1,"msg":"登錄成功"}
- 上述接口還未實現,開發還未把生成的用戶簽名給到我們,如何進行自動化工作?
- 應用場景二:項目開發時涉及到第三方支付接口,開發階段進行如何調試?
- 支付接口:http://127.0.0.1:8000/pay
- 參數 說明
- user_id 用戶id
- money 支付金額
- pay_pwd 支付密碼
- 支付寶支付接口:https://docs.open.alipay.com/api_1/alipay.trade.pay
- 應用場景三:前端開發人員實現將前端頁面全部寫好了,后台接口還沒有實現,前端人員想調試頁面顯示效果,沒有數據怎么辦?
- 根據接口文檔搭建mock服務器,構造一些假數據,前端直接請求mock服務器接口,獲取數據,進行頁面調試