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

 

posted @   邹邹很busy。  阅读(362)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示

目录导航