色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

Python unittest框架操作實例解析

瀏覽:10日期:2022-07-30 10:26:54

操作步驟

導入框架,import unitest 測試類必須繼承類:.class 類名(unittest.TestCase): 在類中所有定義testXXX(區分大小寫)開頭的函數都是可執行的測試用例 鉤子方法setUp(每個測試用例前執行)、tearDown(每個測試用例后執行) 執行用例unitest.main() 斷言

常用斷言

方法 等價于 描述 assertEqual(a,b) a==b 值是否相等 aassertNotEqual(a,b) a!=b 值是否不相等 aasserIs(a,b) a is b 值是否相同 aassertIsNot(a,b) a is not b 值是否不同 assertIn(a,b) a in b a是否包含b assertNotIn(a,b) a not in b a是否不包含b ssertTrue(a) bool(a) is true 是否為真 assertFalse(a) bool(a)is false 是否為假 assertIsNone(a) a is None 是否為空 assertIsNotNone(a) a is None 是否不為空 assertIsInstance(a,b) Instance(a,b) a與b的數據類型一樣 assertNotIsInstance(a) not Instance(a,b) a與b的數據類型不一樣

舉例說明

#!/usr/bin/python3# encoding:utf-8’’’Created on 2019-10-12@author: EDZ’’’#!/usr/bin/python3# encoding:utf-8import unittest#繼承unittest基類class un_test(unittest.TestCase): def setUp(self): print('鉤子方法,每個用例執行前執行') def tearDown(self): print('鉤子方法,每個用例執行后執行') #必須testXXX命名函數才會被執行 def test_Equal(self): print(’1.assertEqual值相同’) a=’中國’ b=’中國’ self.assertEqual(a,b) def test_Is(self): a=’中國’ b=’中國’ print(’2.assertIs值相同’) self.assertIs(a,b) def test_Instance(self): a = ’aaa’ b = [1,2,3,4] print(type(a),type(b),'3.數據類型不相等') self.assertNotIsInstance(type(a),type(b)) def cf(self,a,b): return a/b def test_rasi(self): print(’4.1/0拋出異常’) self.assertRaises(ZeroDivisionError,self.cf,1,0) if __name__=='__main__': #unittest執行本類全部testXXX命名的測試用例 unittest.main() #-----------下面為特殊加載方式------------------- ’’’ #通過文件模塊加載(loadTestsFromModule) suite = unittest.TestSuite() loader = unittest.TestLoader()#用例加載器 #文件模塊名,例如有文件moku.py 第一步:import moku loader.loadTestsFromModule(文件名) suite.addTest(loader.loadTestsFromModule(moku)) #通過測試類來加載(loadTestsFromTestCase) suite = unittest.TestSuite() loader = unittest.TestLoader()#用例加載器 #例如有文件moku.py 其中有類名classT 第一步導入類:from moku import classT (loader.loadTestsFromTestCase(classT))#類名 suite.addTest(loader.loadTestsFromTestCase(un_test))#如果類在本文件模塊內直接加載。 #一個一個添加 suite = unittest.TestSuite() suite.addTest(un_test(’test_Equal’))#(類名(’函數’)) #測試用例數較多時,采用defaultTestLoader.discover()方式 suite = unittest.defaultTestLoader.discover(’./’,pattern=’y*.py’, top_level_dir=None) #1、因為unittest中規定,測試用例必須test開頭,所以discover中的pattern格式才是test*.py #2、start_dir是存放測試用例的目錄 #pattern=’test*.py’:表示用例文件名的匹配原則。此處匹配以“test”開頭的.py 類型的文件,* 表示任意多個字符 #top_level_dir= None 測試模塊的頂層目錄,如果沒有頂層目錄,默認為None runner = unittest.TextTestRunner(verbosity=2) runner.run(suite)這里的verbosity是一個選項,表示測試結果的信息復雜度,有三個值 0 (靜默模式): 你只能獲得總的測試用例數和總的結果 比如 總共100個 失敗20 成功80 1 (默認模式): 非常類似靜默模式 只是在每個成功的用例前面有個“.” 每個失敗的用例前面有個 “F” 2 (詳細模式):測試結果會顯示每個測試用例的所有相關的信息 并且 你在命令行里加入不同的參數可以起到一樣的效果 加入 --quiet 參數 等效于 verbosity=0 加入--verbose參數等效于 verbosity=2 什么都不加就是 verbosity=1</pre> ’’’

運行結果

鉤子方法,每個用例執行前執行1.assertEqual值相同鉤子方法,每個用例執行后執行鉤子方法,每個用例執行前執行<class ’str’> <class ’list’> 3.數據類型不相等鉤子方法,每個用例執行后執行鉤子方法,每個用例執行前執行2.assertIs值相同鉤子方法,每個用例執行后執行鉤子方法,每個用例執行前執行4.1/0拋出異常鉤子方法,每個用例執行后執行Ran 4 tests in 0.001sOK說明:鉤子方法每個用例都執行,Ran 4 表示成功執行4個testXXX的測試用例

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 理伦毛片| 日韩欧美不卡一区二区三区 | 成人精品免费视频 | 国产一区亚洲欧美成人 | 亚洲精品久久久成人 | 成人精品一区二区久久 | 萝控精品福利视频一区 | 欧美日韩国产亚洲一区二区 | 日韩中文字幕网站 | 久操免费 | 久久综合婷婷 | 国产亚洲人成网站在线观看不卡 | 国产成人午夜性a一级毛片 国产成人午夜性视频影院 国产成人香蕉久久久久 | 碰碰碰免费公开在线视频 | 国产亚洲欧美ai在线看片 | 中国美女隐私无遮挡免费视频 | 色综合久久88中文字幕 | 成视频年人黄网站免费 | 国产91区| vr18成人资源| 99久久精品免费精品国产 | 久久高清精品 | 国产亚洲精品国产一区 | 大视频在线爱爱爱爱 | 亚洲国产成人99精品激情在线 | 欧美综合视频在线 | 国产成人在线播放视频 | 宅女深夜福利视频在线 | 成年人色网站 | 三级韩国一区久久二区综合 | 国产午夜精品久久久久九九 | 8050网午夜一级毛片免费不卡 | 欧美影院网站视频观看 | 日韩亚洲一区中文字幕在线 | 色综合久久久高清综合久久久 | 国产成人一区二区三区精品久久 | gayxxxxgay中国老头 | 欧美三级在线观看不卡视频 | 女人张开腿让男人桶视频免费大全 | 久久久久亚洲香蕉网 | 亚洲精品第一第二区 |