unittest的discover加载指定路径的所有用例
2021-01-24 本文已影响0人
Chaweys
# -*- coding:utf-8 -*-
import os
import unittest
def load_all_case():
#定义用例所在路径
case_path=os.path.join(os.path.abspath('../'),'case')
#使用discover()加载所有用例
discover=unittest.defaultTestLoader.discover(case_path,pattern='UserTest*.py')
return discover
if __name__=="__main__":
suit=unittest.TestSuite()
#将加载的所有测试用例添加值测试套件中
suit.addTests(load_all_case())
runner=unittest.TextTestRunner(verbosity=2)
runner.run(suit)
"""
├─case
│ │ UserTestCase.py
│ │ UserTestCase2.py
│ │ UserTestCase3.py
│
├─env
│ │ runmain.py
结果:
set Up 开始执行
UserCase testcase1
tear Down 执行结束
set Up 开始执行
UserCase testcase2
tear Down 执行结束
set Up 开始执行
UserCase testcase3
tear Down 执行结束
set Up 开始执行
UserCase testcase1
tear Down 执行结束
set Up 开始执行
UserCase testcase2
tear Down 执行结束
set Up 开始执行
UserCase testcase3
tear Down 执行结束
setUpClass 开始执行
UserCase2 testcase1
UserCase2 testcase2
UserCase2 testcase3
setUpClass 执行结束
set Up 开始执行
UserCase testcase1
tear Down 执行结束
set Up 开始执行
UserCase testcase2
tear Down 执行结束
set Up 开始执行
UserCase testcase3
tear Down 执行结束
setUpClass 开始执行
UserCase2 testcase1
UserCase2 testcase2
UserCase2 testcase3
setUpClass 执行结束
setUpClass 开始执行
UserCase3 testcase1
UserCase3 testcase2
UserCase3 testcase3
setUpClass 执行结束
testcase1 (UserTestCase.UserCase) ... ok
testcase2 (UserTestCase.UserCase) ... ok
testcase3 (UserTestCase.UserCase) ... ok
testcase1 (case.UserTestCase.UserCase) ... ok
testcase2 (case.UserTestCase.UserCase) ... ok
testcase3 (case.UserTestCase.UserCase) ... ok
testcase1 (UserTestCase2.UserCase2) ... ok
testcase2 (UserTestCase2.UserCase2) ... ok
testcase3 (UserTestCase2.UserCase2) ... ok
testcase1 (case.UserTestCase.UserCase) ... ok
testcase2 (case.UserTestCase.UserCase) ... ok
testcase3 (case.UserTestCase.UserCase) ... ok
testcase1 (case.UserTestCase2.UserCase2) ... ok
testcase2 (case.UserTestCase2.UserCase2) ... ok
testcase3 (case.UserTestCase2.UserCase2) ... ok
testcase1 (UserTestCase3.UserCase3) ... ok
testcase2 (UserTestCase3.UserCase3) ... ok
testcase3 (UserTestCase3.UserCase3) ... ok
Ran 18 tests in 0.001s
OK
"""