1. 程式人生 > 實用技巧 >【軟體測試學習筆記】unittest執行測試用例的幾種方式

【軟體測試學習筆記】unittest執行測試用例的幾種方式

前言

在我們實際工作當中,我們經常會用到unittest框架來執行用例,進行冒煙測試。

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

通過unittest.main()來執行測試用例的方式:

import unittest 
 
class UCTestCase(unittest.TestCase):
    def setUp(self):
        #測試前需執行的操作
        .....
    def tearDown(self):
        #測試用例執行完後所需執行的操作
     
    # 測試用例1
    def test1(self):
        
#具體的測試指令碼 # 測試用例2 def test2(self): #具體的測試指令碼 if __name__ == "__main__": unittest.main()

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

import unittest 

# 執行測試的類
class UCTestCase(unittest.TestCase):
    def setUp(self):
        #測試前需執行的操作
      
    def tearDown(self):
        #測試用例執行完後所需執行的操作
# 測試用例1 def test1(self): #具體的測試指令碼 # 測試用例2 def test2(self): #具體的測試指令碼 if __name__ == "__main__": # 構造測試集 suite = unittest.TestSuite() suite.addTest(UCTestCase("test1")) suite.addTest(UCTestCase("test2")) # 執行測試 runner = unittest.TextTestRunner() runner.run(suite)

通過testLoader方式:

import unittest

class TestCase1(unittest.TestCase):
    def testCase1(self):
    print("a")
    def testCase2(self):
    print("b")
 

class TestCase2(unittest.TestCase):
    def testCase1(self):
        print("a1")
    def testCase2(self):
        print("b1")
 
if __name__ == "__main__":
    #此用法可以同時測試多個類
    suite1 = unittest.TestLoader().loadTestsFromTestCase(TestCase1)
    suite2 = unittest.TestLoader().loadTestsFromTestCase(TestCase2)
    suite = unittest.TestSuite([suite1, suite2])

通過discover方式載入某路徑下的所有測試用例

import unittest

# discover可以一次呼叫多個指令碼
# test_dir 被測試指令碼的路徑
# pattern 指令碼名稱匹配規則

test_dir = "./test_case"
discover = unittest.defaultTestLoader.discover(test_dir, pattern="test*.py")

# 匹配test_case目錄下所有以test開頭的py檔案,執行這些py檔案下的所有測試用例
if __name__ == "__main__":
    runner=unittest.TextTestRunner()
    runner.run(discover)