日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python 如何在測試中使用 Mock

瀏覽:109日期:2022-06-26 16:32:42
Mock概念

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

一般有兩種場景:

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

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

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

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

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

在 python3.X 中 Mock 模塊已經被集成到unittest里面。

Mock類

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

spec:定義Mock對象的屬性值,可以是一個列表,字符串,一個對象的實例 side_effect:可以用來拋出異常或者動態改變返回值,可以覆蓋return_value return_value:定義mock的返回值 name:作為mock對象的標識可以在print時候看到簡單的例子體驗下 Mock 的功能特點

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

你會發現無論輸入的參數是什么,輸出結果都是200。等于方法被 Mock 攔截處理了。

一個相對正式的 Mock 例子

正常情況:

import requestsdef request_scm(): # res = requests.get(’http://www.mysx-scm.com’) res = requests.get(’http://baidu.com’) return res.status_codeimport unittestfrom unittest import mockclass TestScmApi(unittest.TestCase): def testUrl(self): # request_scm = mock.Mock(return_value=200) self.assertEqual(request_scm(), 200, msg=’testUrl 出現錯誤’)if __name__ == ’__main__’: unittest.main()

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

一個完整的測試例子

import requestsclass 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(): ’’’ 待實現 return 200 ’’’ return 0 import unittestfrom unittest import mockclass TestScmApi(unittest.TestCase): needmock = True def setUpClass(): print('setUpClass():所有方法之前執行') def tearDownClass(): print('tearDownClass():所有方法之后執行') def setUp(self): self.scmapi = scmapi() print('setUp():每個方法之前執行') def tearDown(self): print('teardown():每個方法之后執行') 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 出現錯誤’) 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 出現錯誤’)if __name__ == ’__main__’: unittest.main()斷言方法

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

序號 斷言方法 斷言描述 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的詳細內容,更多關于python 測試中使用Mock的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
婷婷综合社区| а√天堂中文在线资源8| 日韩在线欧美| 97精品一区二区| 久久狠狠婷婷| 99国产精品99久久久久久粉嫩| 亚洲一级黄色| 男人的天堂亚洲一区| 午夜欧美理论片| 亚洲丝袜啪啪| 国产欧美亚洲精品a| 欧美极品一区二区三区| 成人高清一区| 免费久久久久久久久| 爽好多水快深点欧美视频| 亚洲精品自拍| 捆绑调教美女网站视频一区| 国产成人免费视频网站视频社区| 免费福利视频一区二区三区| 国产99精品| 日韩成人av影视| 伊人久久视频| 喷白浆一区二区| 日韩av成人高清| 精品国产aⅴ| 天堂成人国产精品一区| 99国产精品99久久久久久粉嫩| 久久av日韩| 久久精品动漫| 国产毛片精品久久| 亚洲激情五月| 精品国产a一区二区三区v免费| 伊人成人网在线看| 久久精品国产999大香线蕉| 五月婷婷亚洲| 国产黄色一区| 在线看片日韩| 欧美1区免费| 国产欧美一级| 蜜桃av一区二区| 久久天堂av| 精品久久影院| 久久精品xxxxx| 综合一区av| 99综合视频| 亚洲成人精品| av中文字幕在线观看第一页 | 99国产精品视频免费观看一公开| 国产精品mm| 国产日韩欧美高清免费| 黄色精品网站| 欧美日韩一二| 亚洲精品福利电影| 久久99久久人婷婷精品综合| 天堂精品久久久久| 亚洲免费观看高清完整版在线观| 免费毛片在线不卡| 久久久9色精品国产一区二区三区| 国产精品一区二区av交换| 日韩在线观看一区二区| av亚洲免费| 国产一区导航| 日韩欧美高清一区二区三区| 亚洲日产av中文字幕| 美女精品在线观看| 99国产成+人+综合+亚洲欧美| 亚洲欧洲日本mm| 噜噜噜躁狠狠躁狠狠精品视频| 午夜在线视频观看日韩17c| 日韩精品一级二级| 日韩精品一区二区三区中文在线| 日韩国产欧美三级| 国产精品久久久久久久久免费高清| 欧美一区网站| 国产一区二区精品久| 亚洲v在线看| 久热re这里精品视频在线6| 国产综合精品| 欧美三级第一页| 99视频+国产日韩欧美| 岛国av在线网站| 亚洲精品大全| 综合激情网站| 欧美日韩四区| 国产一区二区三区自拍| 合欧美一区二区三区| 亚洲精品乱码久久久久久蜜桃麻豆 | 正在播放日韩精品| 欧美日韩激情| 国产精品久久国产愉拍| 国产精品麻豆久久| 久久久夜夜夜| 日本欧美一区| 精品中文一区| 国产精品va| 丝袜国产日韩另类美女| 精品美女在线视频| 狠狠爱www人成狠狠爱综合网| 欧美日本一区| 久久一区精品| 亚洲青青久久| 图片区亚洲欧美小说区| 成人在线超碰| 日本免费在线视频不卡一不卡二| www成人在线视频| 国产精品mm| 亚洲欧美日本视频在线观看| 欧美激情视频一区二区三区在线播放| 女人av一区| 中文字幕在线免费观看视频| 亚洲18在线| 女同性一区二区三区人了人一| 久久香蕉网站| 国产精品亚洲片在线播放| 蜜桃视频一区二区三区在线观看| 999久久久精品国产| 麻豆国产精品777777在线| 欧美一区成人| 亚洲+小说+欧美+激情+另类| 欧美日韩视频一区二区三区| 亚洲午夜精品久久久久久app| 国产精品麻豆成人av电影艾秋| 亚洲毛片一区| 亚洲久久一区| 一本一道久久a久久| 久久都是精品| 免费成人在线观看| 亚洲欧美日韩一区在线观看| 欧美日韩国产高清| 亚洲激情精品| 亚洲tv在线| 久久激情av| 久久久久亚洲精品中文字幕| 精品视频一区二区三区在线观看| 国产精品亲子伦av一区二区三区| 国产视频一区二| 欧美影院精品| 国产中文字幕一区二区三区| 婷婷激情一区| 丝袜美腿成人在线| 久久精品97| 免费高潮视频95在线观看网站| 欧美日韩国产v| 中文在线一区| 国产欧美日韩一级| 国产一区三区在线播放| 欧美成人综合| 日韩精品一区二区三区免费视频 | 久久精品国产亚洲一区二区三区| 精品视频一区二区三区在线观看 | 中文日韩在线| 亚州精品视频| 激情黄产视频在线免费观看| 日本精品不卡| 视频一区视频二区中文字幕| 欧美亚洲自偷自偷| 天堂√中文最新版在线| 亚洲自拍另类| 精品一区二区三区在线观看视频 | 日韩av资源网| 日韩欧美中文| 亚洲精品一级| 久久中文字幕av| 国产精品.xx视频.xxtv| 国产亚洲欧洲| 欧美国产美女| 国产欧美三级| 亚洲精品电影| 精品久久久中文字幕| 日本 国产 欧美色综合| a国产在线视频| 91成人小视频| 视频一区在线视频| 亚洲成人国产| 91亚洲国产高清| 国产精品激情| 婷婷精品在线| 亚洲色诱最新| 欧美理论视频| 日韩中文视频| 成人影视亚洲图片在线| 欧美久久精品| 日韩一区欧美二区| 尤物在线精品| 免费精品国产的网站免费观看| 成人在线视频免费| 国产极品嫩模在线观看91精品| 亚洲1区在线| 中文字幕一区二区三区在线视频| 欧美精品一区二区久久| 久久久久网站| 婷婷精品视频| 九九久久婷婷| 亚洲一级高清| 中文亚洲欧美| 亚洲精品看片| 国产欧美日韩综合一区在线播放| 亚洲精品系列| 88久久精品| 久久精品国产一区二区|