unittest多种加载执行用例方法

unittest多种加载用例的方法

1.TestCase:可以直接通过unittest.main()进行执行
2.testsuite:加载测试套件suite进行实例化,通过addTest进行添加用例,
最终将用例赋于给TextTestRunner()然后进行执行用例。
3.TestLoader():表示用例加载器,我们可以通过把用例都存放在这里,然后再通过Suite进行批量执行。
4.discover:用例比较多,discover可以帮助我们通过文件夹的形式批量执行用例。
其中discover执行用例需要用到三个参数

1、start_dir:表示执行用例的路径

2、pattern:表示匹配用例规则

3、top_level_dir:表示顶级项目目录名称

import unittest
import os


class Test(unittest.TestCase):

    def test01(self):
        print("第一条用例")

    def test02(self):
        print("第二条用例")

    def test03(self):
        print("第三条用例")


# TestCase
"""
    if __name__ == '__main__':
        unittest.main()
"""

# testsuite
"""
if __name__ == '__main__':
    # 实例化
    suite = unittest.TestSuite()
    # 执行Test模块中的test01用例
    suite.addTest(Test('test01'))
    # 执行用例
    runner = unittest.TextTestRunner()
    runner.run(suite)
"""
"""
if __name__ == '__main__':
    # 实例化
    suite = unittest.TestSuite()
    # 用例进行添加在一起
    case_list = [Test('test01'),Test('test02'),Test('test03')]
    # 执行Test模块的用例
    suite.addTests(case_list)
    # 执行用例
    runner = unittest.TextTestRunner()
    runner.run(suite)
"""

# TestLoader()
"""
if __name__ == '__main__':
    # 实例化
    suite = unittest.TestSuite()
    # TestLoader实例化
    loader = unittest.TestLoader()
    # 加载Test模块下的所有用例
    suite.addTest(loader.loadTestsFromTestCase(Test))
    # 执行用例
    runner = unittest.TextTestRunner()
    runner.run(suite)
"""

# discover
"""
if __name__ == '__main__':
    # 用例文件夹
    case_path = os.path.dirname(os.path.realpath(__file__))
    # 批量执行用例,文件夹下,所有以t开头的用例文件,top_level_dir表示顶级目录名称
    discover = unittest.defaultTestLoader.discover(case_path,
                                                   pattern='t*.py',
                                                   top_level_dir=None)
    # 执行用例
    runner = unittest.TextTestRunner()
    runner.run(discover)
"""
原文地址:https://www.cnblogs.com/wzhqzm/p/13561179.html