Python中unittest模塊做UT(單元測(cè)試)使用實(shí)例
待測(cè)試的類(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è)試類(Auto.py)
# coding=utf8
# Auto.dy
# Python 2.7.6
from Widget import Widget #導(dǎo)入測(cè)試類模塊Widget
import unittest #導(dǎo)入unittest模塊
class WidgetTestCase(unittest.TestCase):
#讓所有執(zhí)行測(cè)試的類都繼承于TestCase類,可以將TestCase看成是對(duì)特定類進(jìn)行測(cè)試的方法的集合
#在setUp()方法中進(jìn)行測(cè)試前的初始化工作。
def setUp(self):
self.widget = Widget()
#并在tearDown()方法中執(zhí)行測(cè)試后的清除工作,setUp()和tearDown()都是TestCase類中定義的方法。
def tearDown(self):
self.widget = None
#測(cè)試Widget類中g(shù)etSize方法
def testgetSize(self):
print "Test GetSize"
#對(duì)Widget類中g(shù)etSize()方法的返回值和預(yù)期值進(jìn)行比較,確保兩者是相等的,
#assertEqual()也是TestCase類中定義的方法。
self.assertEqual(self.widget.getSize(), (40, 40))
#測(cè)試Widget類中reSize方法
def testreSize(self):
print "Test Resize"
#對(duì)Widget類中reSize()方法的返回值和預(yù)期值進(jìn)行比較,確保兩者是相等的。
#assertEqual()也是TestCase類中定義的方法。
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。第一步:先寫好測(cè)試類
2。第二步:導(dǎo)入unittest模塊及測(cè)試的類,運(yùn)用setup()方法做測(cè)試前的準(zhǔn)備工作,如建立數(shù)據(jù)庫(kù)連接,運(yùn)用teardown()方法做測(cè)試后的清除工作,如取消數(shù)據(jù)庫(kù)的鏈接,再對(duì)類中的方法逐一做測(cè)試。
3。第三步: 寫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)文章
Python字典數(shù)據(jù)對(duì)象拆分的簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要介紹了Python字典數(shù)據(jù)對(duì)象拆分的簡(jiǎn)單實(shí)現(xiàn)方法,涉及Python針對(duì)字典數(shù)據(jù)的相關(guān)遍歷、拆分等操作技巧,需要的朋友可以參考下2017-12-12
Python OpenCV實(shí)戰(zhàn)之與機(jī)器學(xué)習(xí)的碰撞
機(jī)器學(xué)習(xí)是人工智能的子集,為計(jì)算機(jī)以及其它具有計(jì)算能力的系統(tǒng)提供自動(dòng)預(yù)測(cè)或決策的能力。本文主要介紹了OpenCV 提供的常見(jiàn)機(jī)器學(xué)習(xí)算法和技術(shù),用于解決計(jì)算機(jī)視覺(jué)項(xiàng)目中的實(shí)際問(wèn)題,需要的朋友可以參考一下2021-12-12
python計(jì)算列表內(nèi)各元素的個(gè)數(shù)實(shí)例
今天小編就為大家分享一篇python計(jì)算列表內(nèi)各元素的個(gè)數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
Python繪圖示例程序中的幾個(gè)語(yǔ)法糖果你知道嗎
這篇文章主要為大家詳細(xì)介紹了Python繪圖示例程序中的幾個(gè)語(yǔ)法糖果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-02-02
pycharm轉(zhuǎn)移緩存目錄的實(shí)現(xiàn)
Pycharm在使用過(guò)程中,Pycharm會(huì)生成大量緩存文件,而這些緩存文件默認(rèn)存儲(chǔ)在C盤的用戶目錄里面,導(dǎo)致C盤空間被占用,本文主要介紹了pycharm轉(zhuǎn)移緩存目錄,感興趣的可以了解一下2023-10-10
python用opencv完成圖像分割并進(jìn)行目標(biāo)物的提取
這篇文章主要介紹了python用opencv完成圖像分割并進(jìn)行目標(biāo)物的提取,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
python備份文件以及mysql數(shù)據(jù)庫(kù)的腳本代碼
最近正在學(xué)習(xí)python,看了幾天了,,所以寫個(gè)小腳本練習(xí)練習(xí),沒(méi)什么含金量,只當(dāng)練手2013-06-06

