一、TestLoader多个文件测试用例批量加载
加载 UserTestCase 下的全部用例 suite.addTests(loader.loadTestsFromTestCase(UserTestCase)) ```
# -*- coding: UTF-8 -*-
import unittest
from UserTestCase import UserTestCase
from UserTestCase2 import UserTestCase2
class VideoTestCase(unittest.TestCase):
def setUp(self):
print(" set up 开始")
def tearDown(self):
print("tearDown 执行结束")
def testCase1(self):
print("VideoTestCase test case1")
def testCase2(self):
print("VideoTestCase test case2")
self.assertEqual(1, 1)
def testCase3(self):
print("VideoTestCase test case3")
self.assertEqual(1, 2)
if __name__ == '__main__':
# 构造测试套件
suite = unittest.TestSuite()
# 实例化loader
loader = unittest.TestLoader()
# 加载 UserTestCase 下的全部用例
suite.addTests(loader.loadTestsFromTestCase(UserTestCase))
suite.addTests(loader.loadTestsFromTestCase(UserTestCase2))
runner = unittest.TextTestRunner(verbosity=2)
runner.run(suite)
二、Discover多个文件测试用例批量加载
os.path.join(os.getcwd(), “case”) 获取case文件项目路径
discover 批量加载文件夹用例
- 参数:case_dir: 待执行用例的目录。
- 参数:pattern:这个是匹配脚本名称的规则,test*.py意思是匹配test开头的所有脚本。
- 参数:top_level_dir:这个是顶层目录的名称,一般默认等于None就行了
# -*- coding: UTF-8 -*-
import unittest
import os
def load_all_case():
"""加载指定路径的全部测试用例"""
# print(os.getcwd())
# 用例路径,case是文件名称
case_path = os.path.join(os.getcwd(), "case")
# print(case_path)
discover = unittest.defaultTestLoader.discover(case_path, pattern="*Case.py", top_level_dir=None)
print(discover)
return discover
if __name__ == '__main__':
runner = unittest.TextTestRunner()