unittest多种加载用例的方法
1.TestCase:可以直接通过unittest.main()进行执行
2.testsuite:加载测试套件suite进行实例化,通过addTest进行添加用例,
最终将用例赋于给TextTestRunner()然后进行执行用例。
3.TestLoader():表示用例加载器,我们可以通过把用例都存放在这里,然后再通过Suite进行批量执行。
4.discover:用例比较多,discover可以帮助我们通过文件夹的形式批量执行用例。
其中discover执行用例需要用到三个参数
1、start_dir:表示执行用例的路径
2、pattern:表示匹配用例规则
3、top_level_dir:表示顶级项目目录名称
import unittest import os class Test(unittest.TestCase): def test01(self): print("第一条用例") def test02(self): print("第二条用例") def test03(self): print("第三条用例") # TestCase """ if __name__ == '__main__': unittest.main() """ # testsuite """ if __name__ == '__main__': # 实例化 suite = unittest.TestSuite() # 执行Test模块中的test01用例 suite.addTest(Test('test01')) # 执行用例 runner = unittest.TextTestRunner() runner.run(suite) """ """ if __name__ == '__main__': # 实例化 suite = unittest.TestSuite() # 用例进行添加在一起 case_list = [Test('test01'),Test('test02'),Test('test03')] # 执行Test模块的用例 suite.addTests(case_list) # 执行用例 runner = unittest.TextTestRunner() runner.run(suite) """ # TestLoader() """ if __name__ == '__main__': # 实例化 suite = unittest.TestSuite() # TestLoader实例化 loader = unittest.TestLoader() # 加载Test模块下的所有用例 suite.addTest(loader.loadTestsFromTestCase(Test)) # 执行用例 runner = unittest.TextTestRunner() runner.run(suite) """ # discover """ if __name__ == '__main__': # 用例文件夹 case_path = os.path.dirname(os.path.realpath(__file__)) # 批量执行用例,文件夹下,所有以t开头的用例文件,top_level_dir表示顶级目录名称 discover = unittest.defaultTestLoader.discover(case_path, pattern='t*.py', top_level_dir=None) # 执行用例 runner = unittest.TextTestRunner() runner.run(discover) """