自动化-unitest的加载方式
discover(start_dir,pattern='test*.py',top_level_dir=None)
找到指定目录下所有测试模块,并可递归查到子目录下的测试模块,只有匹配到文件名才能被加载。如果启动的不是顶层目录,那么顶层目录必须单独指定。
-
- start_dir:要测试的模块名或测试用例目录
- pattern='test*.py':表示用例文件名的匹配原则。此处匹配文件名以“test”开头的“.py”类型的文件
- top_level_dir=None:测试模块的顶层目录
通过testLoader方式
- unittest.TestLoader().loadTestsFromTestCase(类名)
- unittest.TestLoader().loadTestsFromMoudule(模块名)
- unittest.TestLoader().loadTestsFromName(方法名)
- unittest.TestLoader().loadTestsFromNames(方法名,复数形式)
if __name__ == "__main__": # loadTestsFromTestCase(class name ) # loadTestsFromName('AutoTest.AutoTest1') module.class.testcase # loadTestsFromName('AutoTest.AutoTest1') module.class # loadTestsFromModule(test1) module suite_1 = unittest.TestLoader().loadTestsFromName('AutoTest.AutoTest1') suite_2 = unittest.TestLoader().loadTestsFromModule(test1) suite_3 = unittest.TestLoader().loadTestsFromNames(['AutoTest.AutoTest1.test_1','AutoTest.AutoTest1.test_2']) suite_4 = unittest.TestLoader().loadTestsFromTestCase(AutoTest2) suite = unittest.TestSuite(suite_3) run = unittest.TextTestRunner() run.run(suite)
import unittest import os class AutoTest1(unittest.TestCase): @classmethod def setUpClass(cls): print('it is set up class') def setUp(self): print('this is set up') def test_1(self): print('this is test_1') def test_2(self): print('this is test_2') def tearDown(self): print('this is tear down') @classmethod def tearDownClass(cls): print('it is tear down class') class AutoTest2(unittest.TestCase): def test_3(self): print('this is test_3') def test_4(self): print('this is test_4') if __name__ == "__main__": print('方式1 -------------') unittest.main() print('方式2 -------------') suite_1 = unittest.defaultTestLoader.discover(r"./",pattern='AutoTest.py') run = unittest.TextTestRunner() run.run(suite_1) print('方式3 -------------') suite_1 = unittest.TestLoader().loadTestsFromTestCase(AutoTest1) suite_2 = unittest.TestLoader().loadTestsFromTestCase(AutoTest2) suite = unittest.TestSuite([suite_1,suite_2]) run = unittest.TextTestRunner() run.run(suite) print('方式4-------------') suite = unittest.TestSuite() suite.addTest(AutoTest1("test_1")) run = unittest.TextTestRunner() run.run(suite)

浙公网安备 33010602011771号