Python基于unittest實現(xiàn)測試用例執(zhí)行
利用python進(jìn)行測試時,測試用例的加載方式有2種:
一種是通過unittest.main()來啟動所需測試的測試模塊;
一種是添加到testsuite集合中再加載所有的被測試對象,而testsuit里存放的就是所需測試的用例,下面分別列出3種方法的具體使用方式:
1、通過unittest.main()來執(zhí)行測試用例的方式:
import unittest class UCTestCase(unittest.TestCase): def setUp(self): #測試前需執(zhí)行的操作 ..... def tearDown(self): #測試用例執(zhí)行完后所需執(zhí)行的操作 ..... # 測試用例1 def testCreateFolder(self): #具體的測試腳本 ...... # 測試用例2 def testDeleteFolder(self): #具體的測試腳本 ...... if __name__ == '__main__': unittest.main()
2、通過testsuit來執(zhí)行測試用例的方式:
import unittest # 執(zhí)行測試的類class UCTestCase(unittest.TestCase): def setUp(self): #測試前需執(zhí)行的操作 ..... def tearDown(self): #測試用例執(zhí)行完后所需執(zhí)行的操作 ..... # 測試用例1 def testCreateFolder(self): #具體的測試腳本 ...... # 測試用例2 def testDeleteFolder(self): #具體的測試腳本 ...... if __name__ == '__main__': # 構(gòu)造測試集 suite = unittest.TestSuite() suite.addTest(UC7TestCase('testCreateFolder')) suite.addTest(UC7TestCase('testDeleteFolder')) # 執(zhí)行測試 runner = unittest.TextTestRunner() runner.run(suite)
3、通過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__': #此用法可以同時測試多個類 suite1 = unittest.TestLoader().loadTestsFromTestCase(TestCase1) suite2 = unittest.TestLoader().loadTestsFromTestCase(TestCase2) suite = unittest.TestSuite([suite1, suite2]) unittest.TextTestRunner(verbosity=2).run(suite)
下面針對上述腳本中應(yīng)用到的unittest模塊下的幾個成員進(jìn)行簡單的介紹,以便于理解上述代碼:
TestCase:所有測試用例的基本類,給一個測試方法的名字,就會返回一個測試用例實例; TestSuit:組織測試用例的實例,支持測試用例的添加和刪除,最終將傳遞給 testRunner進(jìn)行測試執(zhí)行; TextTestRunner:進(jìn)行測試用例執(zhí)行的實例,其中Text的意思是以文本形式顯示測試結(jié)果。測試的結(jié)果會保存到TextTestResult實例中,包括運行了多少測試用例,成功了多少,失敗了多少等信息; TestLoader:用來加載TestCase到TestSuite中的,其中有幾個 loadTestsFrom__()方法,就是從各個地方尋找TestCase,創(chuàng)建它們的實例,然后add到TestSuite中,再返回一個TestSuite實例;以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 前端html+css實現(xiàn)動態(tài)生日快樂代碼2. 不要在HTML中濫用div3. el-input無法輸入的問題和表單驗證失敗問題解決4. CSS3實例分享之多重背景的實現(xiàn)(Multiple backgrounds)5. XML基本概念XPath、XSLT與XQuery函數(shù)介紹6. XML入門的常見問題(四)7. WML的簡單例子及編輯、測試方法第1/2頁8. vue實現(xiàn)復(fù)制文字復(fù)制圖片實例詳解9. 關(guān)于html嵌入xml數(shù)據(jù)島如何穿過樹形結(jié)構(gòu)關(guān)系的問題10. XML入門的常見問題(三)
