婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python 如何在測試中使用 Mock

python 如何在測試中使用 Mock

熱門標簽:正安縣地圖標注app 舉辦過冬奧會的城市地圖標注 電銷機器人系統(tǒng)廠家鄭州 400電話申請資格 螳螂科技外呼系統(tǒng)怎么用 qt百度地圖標注 地圖地圖標注有嘆號 遼寧智能外呼系統(tǒng)需要多少錢 阿里電話機器人對話

Mock概念

mock 的意思是模擬,也就是模擬接口返回的信息,用已有的信息替換它需要返回的信息,從實現(xiàn)對所依賴的模塊的測試。

一般有兩種場景:

  • 前端對后端接口的 mock,
  • 后端服務之間的測試中涉及的mock,常常發(fā)生在單元測試的時候。

前端mock可以通過一些工具來完成:

  • 使用抓包工具Fiddler,Charles 來實現(xiàn),通過修改代理返回的數(shù)據(jù),實現(xiàn)多種場景的測試。
  • 使用一些API管理工具來模擬,比如yapi,Easy Mock 等
  • 當然有編碼能力的,也可以使用node.js,python的fastAPI來模擬

后端的 Mock 則是從接口的角度,如果一個接口A返回的數(shù)據(jù)需要依賴于另一個接口B,當敏捷開發(fā)中B接口還未開發(fā)完全時候這里會需要用到 Mock。

對于測試人員,對接口測試的時候,部分接口尚未開發(fā)完成,在約定了接口定義之后,也可以使用 Mock 來模擬。

在 python3.X 中 Mock 模塊已經(jīng)被集成到unittest里面。

Mock類

class Mock(spec=None,side_effect=None,return_value=DEFAULT,name=None)

  • spec:定義Mock對象的屬性值,可以是一個列表,字符串,一個對象的實例
  • side_effect:可以用來拋出異常或者動態(tài)改變返回值,可以覆蓋return_value
  • return_value:定義mock的返回值
  • name:作為mock對象的標識可以在print時候看到

簡單的例子體驗下 Mock 的功能特點

from unittest import mock
def add(num1,num2):
 return num1 + num2 # pass
 
add = mock.Mock(return_value=200) # 創(chuàng)建mock對象
 
print( add(10,20) )

你會發(fā)現(xiàn)無論輸入的參數(shù)是什么,輸出結果都是200。等于方法被 Mock 攔截處理了。

一個相對正式的 Mock 例子

正常情況:

import requests
def request_scm():
 # res = requests.get('http://www.mysx-scm.com')
 res = requests.get('http://baidu.com')
 return res.status_code

import unittest
from unittest import mock
class TestScmApi(unittest.TestCase):
 
 def testUrl(self):
  # request_scm = mock.Mock(return_value=200)
  self.assertEqual(request_scm(), 200, msg='testUrl 出現(xiàn)錯誤')

if __name__ == '__main__':
 unittest.main()

可以分別把兩個 # 注釋移到下一句試試。

一個完整的測試例子

import requests

class scmapi():
 def request_scm():
  res = requests.get('http://www.mysx-scm.com')
  # res = requests.get('http://baidu.com')
  return res.status_code

 def pay_alipay():
  '''
  待實現(xiàn)
  return 200
  '''
  return 0
 

import unittest
from unittest import mock

class TestScmApi(unittest.TestCase):
 
 needmock = True
 def setUpClass():
  print("setUpClass():所有方法之前執(zhí)行")

 def tearDownClass():
  print("tearDownClass():所有方法之后執(zhí)行")
  
 def setUp(self):
  self.scmapi = scmapi()
  print("setUp():每個方法之前執(zhí)行")

 def tearDown(self):
  print("teardown():每個方法之后執(zhí)行")
 
 def test_request_scm(self):
  if self.needmock:
   scmapi.request_scm = mock.Mock(return_value=200)
  self.assertEqual(scmapi.request_scm(), 200, msg='test_request_scm 出現(xiàn)錯誤')

 def test_pay_alipay(self):
  if self.needmock:
   scmapi.pay_alipay = mock.Mock(return_value=200)
  self.assertEqual(scmapi.pay_alipay(), 200, msg='test_pay_alipay 出現(xiàn)錯誤')

if __name__ == '__main__':
 unittest.main()

斷言方法

基本的斷言方法提供了測試結果是True還是False。所有的斷言方法都有一個msg參數(shù),如果指定msg參數(shù)的值,則將該信息作為失敗的錯誤信息返回。

序號 斷言方法 斷言描述
1 assertEqual(arg1, arg2, msg=None) 驗證arg1=arg2,不等則fail
2 assertNotEqual(arg1, arg2, msg=None) 驗證arg1 != arg2, 相等則fail
3 assertTrue(expr, msg=None) 驗證expr是true,如果為false,則fail
4 assertFalse(expr,msg=None) 驗證expr是false,如果為true,則fail
5 assertIs(arg1, arg2, msg=None) 驗證arg1、arg2是同一個對象,不是則fail
6 assertIsNot(arg1, arg2, msg=None) 驗證arg1、arg2不是同一個對象,是則fail
7 assertIsNone(expr, msg=None) 驗證expr是None,不是則fail
8 assertIsNotNone(expr, msg=None) 驗證expr不是None,是則fail
9 assertIn(arg1, arg2, msg=None) 驗證arg1是arg2的子串,不是則fail
10 assertNotIn(arg1, arg2, msg=None) 驗證arg1不是arg2的子串,是則fail
11 assertIsInstance(obj, cls, msg=None) 驗證obj是cls的實例,不是則fail
12 assertNotIsInstance(obj, cls, msg=None) 驗證obj不是cls的實例,是則fail

以上就是python 如何在測試中使用 Mock的詳細內(nèi)容,更多關于python 測試中使用Mock的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • python測試框架unittest和pytest區(qū)別
  • python使用pytest接口自動化測試的使用
  • python 如何用 Hypothesis 來自動化單元測試
  • python 基于DDT實現(xiàn)數(shù)據(jù)驅動測試
  • Python自動化測試基礎必備知識點總結
  • Python3 + Appium + 安卓模擬器實現(xiàn)APP自動化測試并生成測試報告
  • 基于Python的接口自動化unittest測試框架和ddt數(shù)據(jù)驅動詳解
  • Appium+Python實現(xiàn)簡單的自動化登錄測試的實現(xiàn)
  • python如何進行基準測試

標簽:濟源 阜新 信陽 昭通 合肥 興安盟 隨州 淘寶好評回訪

巨人網(wǎng)絡通訊聲明:本文標題《python 如何在測試中使用 Mock》,本文關鍵詞  python,如,何在,測試,中,使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python 如何在測試中使用 Mock》相關的同類信息!
  • 本頁收集關于python 如何在測試中使用 Mock的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    成人av在线影院| 欧美一区二区免费视频| 欧美午夜精品免费| 精品少妇一区二区三区视频免付费| 久久久精品一品道一区| 亚洲h动漫在线| 91免费视频观看| 国产欧美视频在线观看| 日韩高清欧美激情| 色偷偷88欧美精品久久久| 国产三级久久久| 韩国视频一区二区| 欧美一级在线免费| 午夜激情综合网| 欧美色电影在线| 亚洲乱码国产乱码精品精的特点 | 一色桃子久久精品亚洲| 国产永久精品大片wwwapp | 色婷婷激情久久| 国产精品午夜春色av| 国产综合色在线| 精品国产91九色蝌蚪| 青娱乐精品在线视频| 欧美精品久久一区| 偷窥少妇高潮呻吟av久久免费| 91美女精品福利| 亚洲狠狠丁香婷婷综合久久久| 99免费精品视频| 亚洲欧洲无码一区二区三区| 不卡的av中国片| 中文久久乱码一区二区| 成人性视频网站| 国产精品久久久久aaaa| 成人黄色777网| 成人免费在线观看入口| 99久久国产综合色|国产精品| 中文字幕在线免费不卡| 97精品久久久午夜一区二区三区| 亚洲人一二三区| 91国产视频在线观看| 亚洲在线视频一区| 在线播放/欧美激情| 久久精品国产秦先生| 日韩精品一区二区三区老鸭窝 | 午夜伦欧美伦电影理论片| 欧美视频一区在线观看| 日韩国产高清影视| 久久先锋影音av鲁色资源网| 成人在线综合网| 亚洲免费av高清| 91精品国产高清一区二区三区蜜臀| 免费观看日韩av| 中文字幕国产一区二区| 91色porny蝌蚪| 日韩va亚洲va欧美va久久| 日韩久久精品一区| 国产91丝袜在线18| 一区二区三区免费看视频| 欧美一区二区视频网站| 国产sm精品调教视频网站| 亚洲综合成人网| 精品美女一区二区| www.一区二区| 蜜桃视频在线观看一区二区| 亚洲国产精品精华液ab| 欧美性生活影院| 国内成+人亚洲+欧美+综合在线 | 日本韩国欧美一区二区三区| 日韩精品五月天| 国产精品久久久久久久裸模| 7777精品伊人久久久大香线蕉完整版 | 国产精品午夜在线| 欧美二区三区的天堂| 成人av在线影院| 久久精品国产免费| 亚洲国产精品久久久久秋霞影院| 久久先锋影音av鲁色资源网| 欧美三日本三级三级在线播放| 国产一区二区三区电影在线观看| 亚洲电影在线免费观看| 国产精品女同一区二区三区| 日韩视频在线永久播放| 91成人网在线| www.欧美亚洲| 国产精品系列在线播放| 婷婷综合久久一区二区三区| 国产精品久久久久久久久果冻传媒| 欧美一区二区三区色| 在线观看成人小视频| 成人性视频网站| 国产馆精品极品| 久久不见久久见免费视频1| 亚洲综合视频在线观看| 国产精品麻豆网站| 久久久亚洲午夜电影| 精品人在线二区三区| 欧美精品1区2区3区| 在线免费观看视频一区| 不卡av免费在线观看| 国产麻豆精品95视频| 蜜桃av一区二区三区电影| 午夜精品久久久久久久99水蜜桃 | 欧美亚日韩国产aⅴ精品中极品| 成人午夜电影久久影院| 国产激情91久久精品导航 | 欧美亚洲综合一区| 91久久奴性调教| 色综合久久久久久久久| 91婷婷韩国欧美一区二区| 99精品久久99久久久久| 91在线精品一区二区三区| 菠萝蜜视频在线观看一区| 成人午夜碰碰视频| 成人h动漫精品一区二| 99re热这里只有精品视频| 本田岬高潮一区二区三区| 色综合一区二区| 欧美天天综合网| 7777精品伊人久久久大香线蕉完整版| 欧美日韩亚洲国产综合| 欧美一区二区在线播放| 日韩一级片网址| 国产亚洲精品超碰| 中文字幕一区日韩精品欧美| 亚洲猫色日本管| 天堂资源在线中文精品| 琪琪一区二区三区| 国产精品系列在线观看| 91亚洲永久精品| 制服.丝袜.亚洲.另类.中文| 日韩精品资源二区在线| 久久精品亚洲精品国产欧美 | 免费欧美在线视频| 国产乱码精品一区二区三区五月婷| 国产999精品久久久久久| 91美女视频网站| 欧美蜜桃一区二区三区| 久久亚洲欧美国产精品乐播 | 欧美人妖巨大在线| 精品欧美久久久| 亚洲天天做日日做天天谢日日欢| 亚洲线精品一区二区三区| 免费看欧美美女黄的网站| 大白屁股一区二区视频| 在线免费观看一区| 久久亚洲欧美国产精品乐播| 亚洲精品v日韩精品| 久久国产欧美日韩精品| 91在线云播放| 精品1区2区在线观看| 亚洲视频一二三区| 久久99最新地址| 欧美亚洲日本国产| 久久久久久久久久美女| 亚洲成国产人片在线观看| 国产91精品在线观看| 777a∨成人精品桃花网| 中文字幕亚洲在| 国产综合色视频| 欧美日韩日本视频| 国产精品素人视频| 日本不卡视频在线观看| 色综合一个色综合亚洲| 久久久午夜精品| 蜜臀av性久久久久蜜臀aⅴ四虎| jiyouzz国产精品久久| 欧美xxxx老人做受| 天天影视色香欲综合网老头| 色先锋久久av资源部| 久久综合av免费| 蜜臀av一级做a爰片久久| 欧美性大战久久久久久久蜜臀| 欧美国产一区在线| 国产尤物一区二区| 欧美mv日韩mv国产| 午夜精品在线视频一区| 色噜噜狠狠色综合中国| 国产精品电影一区二区| 国产精品亚洲午夜一区二区三区 | 久久无码av三级| 日韩av不卡一区二区| 欧美色国产精品| 一区二区三区久久久| 成人av在线观| 亚洲国产成人一区二区三区| 国产在线麻豆精品观看| 欧美不卡一区二区三区四区| 免费在线观看日韩欧美| 欧美老肥妇做.爰bbww| 亚洲第四色夜色| 欧美日韩极品在线观看一区| 亚洲成人av在线电影| 欧美午夜理伦三级在线观看| 亚洲成人黄色影院| 欧美午夜不卡视频| 日韩高清不卡一区| 欧美变态tickle挠乳网站| 韩日av一区二区| 国产欧美日本一区二区三区| 成人中文字幕合集|