通常情况下在项目中会有大量的测试case需要去执行操作,基于上一小节的方法(将测试用例添加到测试容器中),在大批量的case面前会变得非常的麻烦。
通常情况下测试用例的执行都是部署到Jenkins的集成测试环境中的,通常我们只需要一条命令执行就可以执行测试用例。
基于这样的思想,我们用可以将我们要执行的测试用例文件全部添加的测试容器中去,然后我们去执行测试容器中添加的批量的测试用例就达到执行批量测试用例的效果。
GitHub代码commits id:2a0769b
创建一份大量测试用例的unittest_case02.py文件
#!/bin/usr/env python3
# -*- coding: utf-8 -*-
# --------------------------------------
# ProjectName: MySpace
# Author: crisimple
# CreateTime: 2019/6/15 18:49
# FileName: unittest_case02.py
# Description: 大批量运行case
# Question:
# --------------------------------------
import unittest
class UnittestCase(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
print("所有case执行之前的前提条件\n")
@classmethod
def tearDownClass(cls) -> None:
print("所有case执行之后的后置条件\n")
def setUp(self) -> None:
print("...case 的前置条件...\n")
def tearDown(self) -> None:
print("...case 的后置条件...\n")
def test_case001(self):
print("first case001")
# 跳过测试用例的执行,即使在容器中添加了测试用例也可以被跳过
@unittest.skip
def test_case002(self):
print("second case002")
def test_case003(self):
print("third case003")
if __name__ == "__main__":
# unittest.main()
# 创建unittest的容器
suite = unittest.TestSuite()
# 添加测试用例到容器
suite.addTest(UnittestCase("test_case001"))
suite.addTest(UnittestCase("test_case002"))
suite.addTest(UnittestCase("test_case003"))
# 执行容器里的测试用例
unittest.TextTestRunner().run(suite)
创建执行批量测试用例的程序主入口 run_case.py
#!/bin/usr/env python3
# -*- coding: utf-8 -*-
# --------------------------------------
# ProjectName: MySpace
# Author: crisimple
# CreateTime: 2019/6/15 19:15
# FileName: run_case.py
# Description: 执行批量 case 的主入口:大批量运行case
# Question:
# --------------------------------------
import unittest
import os
class RunCase(unittest.TestCase):
def test_case01(self):
# os.getcwd():返回当前进程的工作目录
case_path = os.path.join(os.getcwd())
print(os.getcwd())
print(case_path)
suite = unittest.defaultTestLoader.discover(case_path, 'unittest_*.py')
unittest.TextTestRunner().run(suite)
if __name__ == "__main__":
unittest.main()