本文我们将会讲解Python Unittest 里组织用例的5种姿势。
环境准备:
python 3.0以上
python requests库
小编的环境:
python 3.6.4
一、TestLoader
- 当 import unittest 时 ,会自动导入TestLoader类
- TestLoader这个类下,封装了 5 种组织用例的方法
loader.py
class TestLoader(object):
"""
该类负责根据各种标准加载测试并将它们包装在TestSuite中
"""
def loadTestsFromTestCase(self, testCaseClass):
"""
返回testCaseClass中包含的所有测试用例的套件
"""
def loadTestsFromModule(self, module, *args, pattern=None, **kws):
"""
返回给定模块中包含的所有测试用例的套件
"""
def loadTestsFromName(self, name, module=None):
"""
返回给定用例名的测试用例的套件
"""
def loadTestsFromNames(self, names, module=None):
"""
返回给定的一组用例名的测试用例的套件
"""
def discover(self, start_dir, pattern='test*.py', top_level_dir=None):
"""
查找并返回指定的起始目录中的所有测试模块,递归到子目录中以查找它们并返回在其
中找到的所有测试。仅加载与模式匹配的测试文件。
必须可以从项目的顶层导入测试模块。如果起始目录不是顶级目录,则必须单独指定顶级目录。
"""
defaultTestLoader = TestLoader()
"""
当执行 import unittest 时
会自动导入 defaultTestLoader
defaultTestLoader是TestLoader()的实例对象
"""
二、unittest组织用例方法演示
项目目录
how_to_run_test_case
test_case
__init__.py
test_add.py
test_sub.py
run_from_test_case_class.py