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