1 # 创建单元测试类,继承unittest.TestCase 2 class testCase(unittest.TestCase): 3 4 # 测试case 5 def test_01(self): 6 print("test01") 7 8 def test_03(self): 9 print("test03") 10 11 def test_04(self): 12 print("test04") 13 14 def test_05(self): 15 print("test05")
1 if __name__ == '__main__': 2 # 实例化测试套件 3 suite = unittest.TestSuite() 4 # 实例化第二个测试套件 5 suite1 = unittest.TestSuite() 6 # 添加测试用例 - 方式一 7 suite.addTest(testCase('test_03')) 8 suite.addTest(testCase('test_01')) 9 suite1.addTest(testCase('test_03')) 10 suite1.addTest(testCase('test_01')) 11 # 添加测试用例 - 方式二 12 testcase = (testCase('test_05'), testCase('test_04')) 13 suite.addTests(testcase) 14 # 测试套件添加测试套件 15 suite.addTest(suite1) 16 # 实例化TextTestRunner类 17 runner = unittest.TextTestRunner() 18 # 运行测试套件 19 runner.run(suite)
1 test03 2 test01 3 test05 4 test04 5 test03 6 test01 7 ...... 8 ---------------------------------------------------------------------- 9 Ran 6 tests in 0.000s 10 11 OK
addTests(tests)
单元测试类名(测试用例名)
前三个文件是包含了单元测试类的文件,第四个文件是负责运行所有单元测试类,不包含测试用例
列举某个单元测试类文件代码
1 # 创建单元测试类,继承unittest.TestCase 2 class testCase02(unittest.TestCase): 3 4 # 测试case 5 def test_07(self): 6 print("testCase02 test07") 7 8 def test_06(self): 9 print("testCase02 test06") 10 11 def test_11(self): 12 print("testCase02 test11")
1 import unittest 2 from learn.unittestLearning import test_case02 3 from learn.unittestLearning.test_case03 import testCase03 4 5 if __name__ == '__main__': 6 # 通过模块 7 testcase02 = unittest.TestLoader().loadTestsFromModule(test_case02) 8 # 通过单元测试类 9 testcase03 = unittest.TestLoader().loadTestsFromTestCase(testCase03) 10 # 通过模块字符串 11 testcase04 = unittest.TestLoader().loadTestsFromName('learn.unittestLearning.test_case04') 12 # 测试用例集 13 tests = [testcase02, testcase03, testcase04] 14 # 创建测试套件 15 suite = unittest.TestSuite(tests) 16 # 运行测试套件 17 unittest.TextTestRunner(verbosity=2).run(suite)
loadTestsFromTestCase(testCaseClass)
loadTestsFromModule(module, pattern=None)
loadTestsFromName(name, module=None)
.
verbosity
1 import unittest 2 3 if __name__ == '__main__': 4 # 需要运行的单元测试文件目录 5 test_path = './' 6 # 实例化defaultTestLoader 7 discover = unittest.defaultTestLoader.discover(start_dir=test_path, pattern="test_case*.py") 8 # 运行测试用例集 9 unittest.TextTestRunner().run(discover)
优点:是不是简洁。。是不是很快??只需三行代码!!
start_dir
pattern
discover()
1 testCase02 test06 2 testCase02 test07 3 testCase02 test11 4 testCase03 test05 5 testCase03 test08 6 testCase03 test12 7 testCase04 test02 8 testCase04 test04 9 testCase04 test13 10 ......... 11 ---------------------------------------------------------------------- 12 Ran 9 tests in 0.000s 13 14 OK
转载至:https://cloud.tencent.com/developer/article/1640663?from=15425