学习说明
这里主要是学习加载测试用例的四种方法,以便于在实际工程中进行使用。
- [ ] 方法1:通过测试用例类进行加载(loadTestsFromTestCase):
- 实例化->通过测试用例类进行加载->加载后在运行
- 实例化有两种方法(测试加载器TestLoader和测试套件TestSuite)
loader = unittest.TestLoader() # 测试加载器
suite = unittest.TestSuite() # 测试套件
- 两者都有了我们直接通过加载器来加载测试套件(addTest)
suite.addTest(loader.loadTestsFromTestCase(MyTestCase03))
suite.addTest(loader.loadTestsFromTestCase(MyTestCase04))
- 加载之后在运行(runner)
runner = unittest.TextTestRunner()
runner. Run(suite)
- [ ] 方法2:通过模块来加载(loadTestsFromModule):
- 实例化->通过模块来加载->加载后在运行
suite.addTest(loader.loadTestsFromModule(MyTestCase03))
suite.addTest(loader.loadTestsFromModule(MyTestCase04))
- [ ] 方法3:通过路径来加载(Discover):
- 实例化->通过模块来加载->加载后在运行
import os
path = os.path.dirname(os.path.abspath(__file__))
suite.addTest(loader.Discover(path))
- [ ] 方法4:通过逐条加载测试用例(low):
- 实例化->通过逐条加载测试用例->加载后在运行
case1 = MyTest1("test1")
case2 = MyTest1("test2")
suite.addTest(case1)
suite.addTest(case2)
具体代码
import unittest, os
class MyTestCase03(unittest.TestCase):
def test01(self):
print("test01")
def test02(self):
print("test02")
class MyTestCase04(unittest.TestCase):
def test03(self):
print("test03")
def test04(self):
print("test04")
if __name__ == '__main__':
loader = unittest.TestLoader() # 测试加载器
suite = unittest.TestSuite() # 测试套件
"""方法1:通过测试用例类加载"""
# 两者都有了我们直接通过加载器来加载测试套件
suite.addTest(loader.loadTestsFromTestCase(MyTestCase03))
suite.addTest(loader.loadTestsFromTestCase(MyTestCase04))
"""方法2:通过模块来加载"""
suite.addTest(loader.loadTestsFromModule(MyTestCase03))
suite.addTest(loader.loadTestsFromModule(MyTestCase04))
# """方法2:通过路径来加载"""
path = os.path.dirname(os.path.abspath(__file__))
suite.addTest(loader.discover(path))
# 加载之后在运行
runner = unittest.TextTestRunner()
runner.run(suite)