Python中unittest模塊做UT(單元測試)使用實(shí)例
待測試的類(Widget.py)
# Widget.py # Python 2.7.6 class Widget: def __init__(self, size = (40,40)): self.size = size def getSize(self): return self.size def reSize(self,width,height): if width <0 or height < 0: raise ValueError, 'illegal size' else: self.size = (width,height) return self.size def dispose(self): pass
測試類(Auto.py)
# coding=utf8 # Auto.dy # Python 2.7.6 from Widget import Widget #導(dǎo)入測試類模塊Widget import unittest #導(dǎo)入unittest模塊 class WidgetTestCase(unittest.TestCase): #讓所有執(zhí)行測試的類都繼承于TestCase類,可以將TestCase看成是對特定類進(jìn)行測試的方法的集合 #在setUp()方法中進(jìn)行測試前的初始化工作。 def setUp(self): self.widget = Widget() #并在tearDown()方法中執(zhí)行測試后的清除工作,setUp()和tearDown()都是TestCase類中定義的方法。 def tearDown(self): self.widget = None #測試Widget類中g(shù)etSize方法 def testgetSize(self): print "Test GetSize" #對Widget類中g(shù)etSize()方法的返回值和預(yù)期值進(jìn)行比較,確保兩者是相等的, #assertEqual()也是TestCase類中定義的方法。 self.assertEqual(self.widget.getSize(), (40, 40)) #測試Widget類中reSize方法 def testreSize(self): print "Test Resize" #對Widget類中reSize()方法的返回值和預(yù)期值進(jìn)行比較,確保兩者是相等的。 #assertEqual()也是TestCase類中定義的方法。 self.assertEqual(self.widget.reSize(50,100),(50,100)) #提供名為suite()的全局方法,PyUnit在執(zhí)行測試的過程調(diào)用suit()方法來確定有多少個(gè)測試用例需要被執(zhí)行, #可以將TestSuite看成是包含所有測試用例的一個(gè)容器。 def suite(): suite = unittest.TestSuite() suite.addTest(WidgetTestCase("testgetSize"))#往此添加需要測試的方法testgetSize() suite.addTest(WidgetTestCase("testreSize")) #往此添加需要測試的方法testreSize() return suite if __name__ == "__main__": unittest.main(defaultTest = 'suite') #在主函數(shù)中調(diào)用全局方法.
測試結(jié)果:
D:\Python>python27 Auto.py Test GetSize .Test Resize . ------------------------------ Ran 2 tests in 0.004s OK
總結(jié):
1。第一步:先寫好測試類
2。第二步:導(dǎo)入unittest模塊及測試的類,運(yùn)用setup()方法做測試前的準(zhǔn)備工作,如建立數(shù)據(jù)庫連接,運(yùn)用teardown()方法做測試后的清除工作,如取消數(shù)據(jù)庫的鏈接,再對類中的方法逐一做測試。
3。第三步: 寫suite()的全局方法,將要測試的方法,一一加入。
測試結(jié)果,有幾個(gè)測試用例就有幾個(gè). 最后顯示OK,表示通過。
- python單元測試unittest實(shí)例詳解
- Python單元測試框架unittest使用方法講解
- Python中unittest用法實(shí)例
- Python+request+unittest實(shí)現(xiàn)接口測試框架集成實(shí)例
- python+requests+unittest API接口測試實(shí)例(詳解)
- Python中的測試模塊unittest和doctest的使用教程
- Python unittest 簡單實(shí)現(xiàn)參數(shù)化的方法
- Python Unittest自動(dòng)化單元測試框架詳解
- Python unittest單元測試框架的使用
- Python自動(dòng)化之UnitTest框架實(shí)戰(zhàn)記錄
相關(guān)文章
python3實(shí)現(xiàn)隨機(jī)數(shù)
這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)隨機(jī)數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06Python的五個(gè)標(biāo)準(zhǔn)數(shù)據(jù)類型你認(rèn)識幾個(gè)
這篇文章主要為大家詳細(xì)介紹了Python標(biāo)準(zhǔn)數(shù)據(jù)類型,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03python GUI庫圖形界面開發(fā)之PyQt5窗口布局控件QStackedWidget詳細(xì)使用方法
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5窗口布局控件QStackedWidget詳細(xì)使用方法,需要的朋友可以參考下2020-02-02python matplotlib工具欄源碼探析三之添加、刪除自定義工具項(xiàng)的案例詳解
這篇文章主要介紹了python matplotlib工具欄源碼探析三之添加、刪除自定義工具項(xiàng)的案例詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02Yolov5多邊形標(biāo)簽和JSON數(shù)據(jù)格式轉(zhuǎn)換
通過labelme對圖進(jìn)行標(biāo)注后,得到的是json文件,而Yolov5對數(shù)據(jù)進(jìn)行模型構(gòu)建的時(shí)候,讀取需要的是txt格式的文件。所以需要先通過Python進(jìn)行文件格式的轉(zhuǎn)換,需要的朋友可以參考下2023-05-05Pycharm安裝scrapy及初始化爬蟲項(xiàng)目的完整步驟
因?yàn)槿腴Tpython以來一直使用pycharm,所以對著黑白的DOS不習(xí)慣,所以此次來實(shí)現(xiàn)使用pycharm進(jìn)行實(shí)現(xiàn)使用scrapy框架,下面這篇文章主要給大家介紹了關(guān)于Pycharm安裝scrapy及初始化爬蟲項(xiàng)目的完整步驟,需要的朋友可以參考下2022-08-08使用Python隨機(jī)生成數(shù)據(jù)的方法
這篇文章主要介紹了使用Python隨機(jī)生成數(shù)據(jù)的方法,在日常開發(fā)中竟然會(huì)遇到需要測試大量數(shù)據(jù)的地方,那么隨機(jī)生成數(shù)據(jù)就可以有效的加快我們的效率,通過Python_Faker生成測試數(shù)據(jù)需要安裝Faker包,需要的朋友可以參考下2023-10-10