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

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

python 如何在測試中使用 Mock

瀏覽:113日期: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久久,三上悠亚国产精品一区二区三区
日本精品久久| 日本在线精品| 国产美女一区| 日韩av福利| 91精品一区二区三区综合在线爱| 国产精品一线| 国产一区二区三区黄网站| 日韩成人精品一区| 99久久久久久中文字幕一区| 久久理论电影| 免费av一区| 日韩中文字幕一区二区三区| 奶水喷射视频一区| 免费在线观看日韩欧美| 日韩高清成人在线| 欧美精品91| 亚洲高清不卡| 中文无码日韩欧| 亚洲va久久| 精品久久国产一区| 天堂网av成人| 免费看精品久久片| 国产精品分类| 中文在线不卡| 美女精品久久| 亚洲综合三区| 久久影院资源站| 久久午夜精品| 国产一区二区视频在线看| 神马午夜久久| 国产日韩视频| 99在线精品免费视频九九视 | 福利片在线一区二区| 在线观看精品| 欧美在线看片| 国产一区清纯| 91亚洲精品在看在线观看高清| 国产人成精品一区二区三| 国产美女高潮在线| 日韩专区一卡二卡| 日韩在线综合| 日韩av一二三| 亚洲少妇在线| 四虎国产精品免费观看| 免费欧美在线视频| 国产99久久| 精品黄色一级片| 亚洲91网站| 天堂8中文在线最新版在线| 日韩区一区二| 免费日韩视频| 国精品一区二区三区| 日本一二区不卡| 国产亚洲观看| 五月国产精品| 亚洲综合图色| 亚洲欧美日韩国产综合精品二区| 日韩中文在线播放| 欧美日韩在线二区| 亚洲成人va| 蜜桃精品在线| 亚洲天堂久久| 亚洲经典在线| 欧洲一级精品| 国产99久久| 国产精品色网| 亚洲一区二区三区久久久| 免费观看在线色综合| 亚洲天堂av资源在线观看| 最新国产精品视频| 亚洲综合婷婷| 综合国产视频| 欧美视频久久| 国产精品视频3p| 欧美亚洲tv| 久久国产乱子精品免费女| 久久99久久人婷婷精品综合| 国产日韩免费| 深夜日韩欧美| 日韩一区精品视频| 黄色国产精品| 亚洲精品极品少妇16p| 国产欧美日韩在线一区二区| 久久婷婷激情| 麻豆精品蜜桃| 91精品在线观看国产| 国产精品最新自拍| 国产亚洲午夜| 91一区二区三区四区| 日韩欧美中文字幕在线视频| 亚洲香蕉视频| 欧美日韩国产在线一区| 中文字幕高清在线播放| 日韩精品亚洲专区| 影音先锋久久| 99在线观看免费视频精品观看| 久久久久.com| 视频一区二区中文字幕| 日本一区二区三区中文字幕| 日本色综合中文字幕| 美女尤物国产一区| 国产精品一线天粉嫩av| 色综合视频一区二区三区日韩 | 日韩中文影院| 999精品色在线播放| 五月婷婷六月综合| 中文无码久久精品| 国产精品115| 国产综合精品一区| 天海翼亚洲一区二区三区| 91精品一区| 成人在线免费观看网站| 亚洲一区二区日韩| 欧美成人一二区| 久久蜜桃资源一区二区老牛| 国模 一区 二区 三区| 欧美不卡高清一区二区三区| 婷婷成人在线| 蜜臀久久99精品久久久久久9 | 国产精品久久乐| 日本一二区不卡| 色综合www| 亚州精品视频| 精品视频97| 亚洲精品黄色| 日韩成人高清| 欧美xxxx性| 欧美日韩国产一区精品一区| 久久精品凹凸全集| 黄色在线网站噜噜噜| 国产精品一区2区3区| 99久久亚洲精品| 国产精品99视频| 天堂va欧美ⅴa亚洲va一国产| 97se综合| 久久精品国产免费| 国产精品外国| 视频一区在线播放| 国产精品99免费看| 青青青免费在线视频| 久久精品72免费观看| 国产亚洲在线| 国产精品日韩久久久| 久久久久.com| 激情综合五月| 亚洲理论在线| 日产欧产美韩系列久久99| 美女精品在线| 美美哒免费高清在线观看视频一区二区| 久久久久久黄| 人在线成免费视频| 天堂中文av在线资源库| 黄色精品视频| 热三久草你在线| 免费人成黄页网站在线一区二区| 久久婷婷激情| 欧美成人综合| 蜜桃免费网站一区二区三区| 最新亚洲激情| 久久久久久久久久久妇女| 四虎884aa成人精品最新| 日韩高清中文字幕一区二区| 日韩成人亚洲| 亚洲精品第一| 国产精品日韩精品在线播放| 麻豆91小视频| 四虎884aa成人精品最新| 九九综合九九| 蜜臀a∨国产成人精品| 欧美综合精品| 国产情侣久久| 欧美成人亚洲| 日韩欧美三区| 欧美激情五月| 色一区二区三区| 亚洲精品电影| 麻豆一区二区三| 91九色精品| 国产精品免费99久久久| 91tv亚洲精品香蕉国产一区| 亚洲三级av| 午夜精品成人av| 国产探花在线精品| 91欧美在线| 精品丝袜久久| 亚洲一区二区免费看| 国产一区一一区高清不卡| 麻豆久久精品| 国产综合亚洲精品一区二| 欧美久久香蕉| 一区二区三区视频免费观看| 日韩激情精品| 亚洲精品99| 激情视频一区二区三区| 精品视频在线一区二区在线| 亚洲专区视频| 噜噜噜躁狠狠躁狠狠精品视频 | 久久中文字幕av一区二区不卡| 亚洲精品在线a| 国产99久久久国产精品成人免费|