Python基于unittest實(shí)現(xiàn)測(cè)試用例執(zhí)行
利用python進(jìn)行測(cè)試時(shí),測(cè)試用例的加載方式有2種:
一種是通過(guò)unittest.main()來(lái)啟動(dòng)所需測(cè)試的測(cè)試模塊;
一種是添加到testsuite集合中再加載所有的被測(cè)試對(duì)象,而testsuit里存放的就是所需測(cè)試的用例,下面分別列出3種方法的具體使用方式:
1、通過(guò)unittest.main()來(lái)執(zhí)行測(cè)試用例的方式:
import unittest
class UCTestCase(unittest.TestCase):
def setUp(self):
#測(cè)試前需執(zhí)行的操作
.....
def tearDown(self):
#測(cè)試用例執(zhí)行完后所需執(zhí)行的操作
.....
# 測(cè)試用例1
def testCreateFolder(self):
#具體的測(cè)試腳本
......
# 測(cè)試用例2
def testDeleteFolder(self):
#具體的測(cè)試腳本
......
if __name__ == "__main__":
unittest.main()
2、通過(guò)testsuit來(lái)執(zhí)行測(cè)試用例的方式:
import unittest
# 執(zhí)行測(cè)試的類
class UCTestCase(unittest.TestCase):
def setUp(self):
#測(cè)試前需執(zhí)行的操作
.....
def tearDown(self):
#測(cè)試用例執(zhí)行完后所需執(zhí)行的操作
.....
# 測(cè)試用例1
def testCreateFolder(self):
#具體的測(cè)試腳本
......
# 測(cè)試用例2
def testDeleteFolder(self):
#具體的測(cè)試腳本
......
if __name__ == "__main__":
# 構(gòu)造測(cè)試集
suite = unittest.TestSuite()
suite.addTest(UC7TestCase("testCreateFolder"))
suite.addTest(UC7TestCase("testDeleteFolder"))
# 執(zhí)行測(cè)試
runner = unittest.TextTestRunner()
runner.run(suite)
3、通過(guò)testLoader方式:
import unittest
class TestCase1(unittest.TestCase):
#def setUp(self):
#def tearDown(self):
def testCase1(self):
print 'aaa'
def testCase2(self):
print 'bbb'
class TestCase2(unittest.TestCase):
#def setUp(self):
#def tearDown(self):
def testCase1(self):
print 'aaa1'
def testCase2(self):
print 'bbb1'
if __name__ == "__main__":
#此用法可以同時(shí)測(cè)試多個(gè)類
suite1 = unittest.TestLoader().loadTestsFromTestCase(TestCase1)
suite2 = unittest.TestLoader().loadTestsFromTestCase(TestCase2)
suite = unittest.TestSuite([suite1, suite2])
unittest.TextTestRunner(verbosity=2).run(suite)
下面針對(duì)上述腳本中應(yīng)用到的unittest模塊下的幾個(gè)成員進(jìn)行簡(jiǎn)單的介紹,以便于理解上述代碼:
- TestCase:所有測(cè)試用例的基本類,給一個(gè)測(cè)試方法的名字,就會(huì)返回一個(gè)測(cè)試用例實(shí)例;
- TestSuit:組織測(cè)試用例的實(shí)例,支持測(cè)試用例的添加和刪除,最終將傳遞給 testRunner進(jìn)行測(cè)試執(zhí)行;
- TextTestRunner:進(jìn)行測(cè)試用例執(zhí)行的實(shí)例,其中Text的意思是以文本形式顯示測(cè)試結(jié)果。測(cè)試的結(jié)果會(huì)保存到TextTestResult實(shí)例中,包括運(yùn)行了多少測(cè)試用例,成功了多少,失敗了多少等信息;
- TestLoader:用來(lái)加載TestCase到TestSuite中的,其中有幾個(gè) loadTestsFrom__()方法,就是從各個(gè)地方尋找TestCase,創(chuàng)建它們的實(shí)例,然后add到TestSuite中,再返回一個(gè)TestSuite實(shí)例;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
利用機(jī)器學(xué)習(xí)預(yù)測(cè)房?jī)r(jià)
這篇文章主要介紹了利用機(jī)器學(xué)習(xí)回歸模型預(yù)測(cè)房?jī)r(jià),解釋清晰,代碼詳細(xì),是很不錯(cuò)的機(jī)器學(xué)習(xí)實(shí)戰(zhàn)演練,對(duì)機(jī)器學(xué)習(xí)感興趣的朋友可以參考一下2021-04-04
Python使用Pyqt5實(shí)現(xiàn)簡(jiǎn)易瀏覽器(最新版本測(cè)試過(guò))
這篇文章主要介紹了Python使用Pyqt5實(shí)現(xiàn)簡(jiǎn)易瀏覽器(最新版本測(cè)試過(guò)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
python中ThreadPoolExecutor線程池和ProcessPoolExecutor進(jìn)程池
這篇文章主要介紹了python中ThreadPoolExecutor線程池和ProcessPoolExecutor進(jìn)程池,文章圍繞主題相關(guān)資料展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-06-06
Python語(yǔ)言描述機(jī)器學(xué)習(xí)之Logistic回歸算法
這篇文章主要介紹了Python語(yǔ)言描述機(jī)器學(xué)習(xí)之Logistic回歸算法,涉及Sigmoid函數(shù),梯度上升法等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
Pandas多級(jí)索引的實(shí)現(xiàn)示例
Pandas 中的多級(jí)索引是一種強(qiáng)大的工具,用于處理具有多個(gè)維度或?qū)哟蔚臄?shù)據(jù),本文主要介紹了Pandas多級(jí)索引的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01
python中的計(jì)時(shí)器timeit的使用方法
本篇文章主要介紹了python中的計(jì)時(shí)器timeit的使用方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10
如何用Python進(jìn)行回歸分析與相關(guān)分析
這篇文章主要介紹了如何用Python進(jìn)行回歸分析與相關(guān)分析,這兩部分內(nèi)容會(huì)放在一起講解,文中提供了解決思路以及部分實(shí)現(xiàn)代碼,需要的朋友可以參考下2023-03-03

