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í)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 解決Python 進(jìn)程池Pool中一些坑2. Python如何讀寫CSV文件3. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究4. 三個(gè)不常見的 HTML5 實(shí)用新特性簡(jiǎn)介5. 無(wú)線標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁(yè)6. ajax請(qǐng)求添加自定義header參數(shù)代碼7. php測(cè)試程序運(yùn)行速度和頁(yè)面執(zhí)行速度的代碼8. Python獲取抖音關(guān)注列表封號(hào)賬號(hào)的實(shí)現(xiàn)代碼9. python利用os模塊編寫文件復(fù)制功能——copy()函數(shù)用法10. Python使用jupyter notebook查看ipynb文件過(guò)程解析
