Python unittest進行測試用例執行的幾種方式


利用python進行測試時,測試用例的加載方式有2種:
  一種是通過unittest.main()來啟動所需測試的測試模塊;
  一種是添加到testsuite集合中再加載所有的被測試對象,而testsuit里存放的就是所需測試的用例,下面分別列出3種方法的具體使用方式:
1、通過unittest.main()來執行測試用例的方式:

import unittest 

class UCTestCase(unittest.TestCase):
    def setUp(self):
        #測試前需執行的操作
        .....      
    def tearDown(self):
        #測試用例執行完后所需執行的操作
        .....      
    # 測試用例1
    def testCreateFolder(self):
        #具體的測試腳本
        ......      
    # 測試用例2
    def testDeleteFolder(self):
        #具體的測試腳本
        ......       
if __name__ == "__main__":
    unittest.main()


2、通過testsuit來執行測試用例的方式:

import unittest 
# 執行測試的類
class UCTestCase(unittest.TestCase):
    def setUp(self):
        #測試前需執行的操作
        .....       
    def tearDown(self):
        #測試用例執行完后所需執行的操作
        .....
       
    # 測試用例1
    def testCreateFolder(self):
        #具體的測試腳本
        ......      
    # 測試用例2
    def testDeleteFolder(self):
        #具體的測試腳本
        ......       
if __name__ == "__main__":
    # 構造測試集
    suite = unittest.TestSuite()
    suite.addTest(UC7TestCase("testCreateFolder"))
    suite.addTest(UC7TestCase("testDeleteFolder")) 
    # 執行測試
    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)

 

  下面針對上述腳本中應用到的unittest模塊下的幾個成員進行簡單的介紹,以便於理解上述代碼:
 TestCase:所有測試用例的基本類,給一個測試方法的名字,就會返回一個測試用例實例;
 TestSuit:組織測試用例的實例,支持測試用例的添加和刪除,最終將傳遞給  testRunner進行測試執行;
 TextTestRunner:進行測試用例執行的實例,其中Text的意思是以文本形式顯示測試結果。測試的結果會保存到TextTestResult實例中,包括運行了多少測試用例,成功了多少,失敗了多少等信息;
 TestLoader:用來加載TestCase到TestSuite中的,其中有幾個  loadTestsFrom__()方法,就是從各個地方尋找TestCase,創建它們的實例,然后add到TestSuite中,再返回一個TestSuite實例;

 

原文:http://www.51testing.com/html/10/448910-3648852.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM