zoukankan      html  css  js  c++  java
  • 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)
    """
  • 相关阅读:
    RabbitMq学习4-发布/订阅(Publish/Subscribe)
    RabbitMq学习3-工作队列(Work queues)
    《大型网站技术架构》-读书笔记七:安全架构
    RabbitMq学习2-php命令行模式测试rabbitmq
    《大型网站技术架构》-读书笔记六:可扩展架构
    RabbitMq学习1-介绍、安装和配置
    《大型网站技术架构》-读书笔记五:伸缩性架构
    C#构建树形数据结构
    数据结构和算法(一)概念
    C# 简介
  • 原文地址:https://www.cnblogs.com/wzhqzm/p/13561179.html
Copyright © 2011-2022 走看看