【軟體測試學習筆記】unittest執行測試用例的幾種方式
阿新 • • 發佈:2020-12-14
前言
在我們實際工作當中,我們經常會用到unittest框架來執行用例,進行冒煙測試。
unittest執行測試用例的幾種方式
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()
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)
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)