• unittest--套件的使用


    前戏

    在前面我们使用如下方式来运行测试用例

    if __name__ == '__main__':
        unittest.main()

    这样的方式是按照ascii码的顺序来执行的,但有时我们并不想按照ascii来执行,想自定义顺序来执行,这时候就要用到套件了

    不使用套件运行

    import unittest
    
    
    class Test_case(unittest.TestCase):
    
        # def setUp(self):
        #     print('我是前置条件')
        #
        # def tearDown(self):
        #     print('我是后置条件')
    
        def test01(self):
            print('test01')
    
        def test02(self):
            print('test02')
    
        def test03(self):
            print('test03')
    
        def test04(self):
            print('test04')
    
        def test05(self):
            print('test05')
    
    
    if __name__ == '__main__':
        unittest.main()

    结果:

    .....
    test01
    test02
    test03
    test04
    test05

    使用套件(一个一个添加)

    import unittest
    
    
    class Test_case(unittest.TestCase):
    
        # def setUp(self):
        #     print('我是前置条件')
        #
        # def tearDown(self):
        #     print('我是后置条件')
    
        def test01(self):
            print('test01')
    
        def test02(self):
            print('test02')
    
        def test03(self):
            print('test03')
    
        def test04(self):
            print('test04')
    
        def test05(self):
            print('test05')
    
    
    if __name__ == '__main__':
        suite = unittest.TestSuite()
        suite.addTest(Test_case('test03'))  # 前面的是类名,后面的是函数名
        suite.addTest(Test_case('test05'))  # 前面的是类名,后面的是函数名
        suite.addTest(Test_case('test01'))  # 前面的是类名,后面的是函数名
        unittest.TextTestRunner().run(suite)

    结果:

    ...
    test03
    test05
    test01

    从上面的运行结果可以看出来,我们添加几个就执行几个,没有添加的就不执行,而且执行顺序也是我们添加的顺序

    这样一个一个的添加是不是太麻烦了,我们可以批量的添加

    批量添加

    import unittest
    
    
    class Test_case(unittest.TestCase):
    
        # def setUp(self):
        #     print('我是前置条件')
        #
        # def tearDown(self):
        #     print('我是后置条件')
    
        def test01(self):
            print('test01')
    
        def test02(self):
            print('test02')
    
        def test03(self):
            print('test03')
    
        def test04(self):
            print('test04')
    
        def test05(self):
            print('test05')
    
    
    if __name__ == '__main__':
        suite = unittest.TestSuite()
        tests = [Test_case('test03'),Test_case('test01'),Test_case('test05')]  # 放到一个列表里
        suite.addTests(tests)  # 一次加载所有的,用addTests,上面的没s
        runner = unittest.TextTestRunner()
        runner.run(suite)

    结果:

    ...
    test03
    test01
    test05
  • 相关阅读:
    又肝了3天,整理了80个Python DateTime 例子,必须收藏!
    frida hook js 如何遍历输出map
    【MySQL实战】 01 | 基础架构:一条SQL查询语句是如何执行的?
    【开发笔记】 mysql把A表数据插入到B表数据的几种方法
    C#多线程(入门篇)
    C#多线程(浅谈线程安全)
    内存管理
    Mac 安装HbuilderX运行unapp 遇到的错误Error: Cannot find module 'copywebpackplugin'
    xml转voc数据集(含分享数据集)
    使用mmdetection训练自己的coco数据集(免费分享自制数据集文件)
  • 原文地址:https://www.cnblogs.com/zouzou-busy/p/11408248.html
Copyright © 2020-2023  润新知