自动化-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)

 

posted @ 2021-01-18 15:17  静惜  阅读(103)  评论(0)    收藏  举报