Unittest概念及使用

Unittest测试框架介绍

1、概念:
unittest测试框架是python中内置的测试框架,使用方便
2、unittest的构成:
test cases
test suites
test fixtures
test runner
测试模块首先import unittest
测试类必须继承unittest.TestCase
测试方法必须以test_开头
模块的名字、类名没有特殊要求

3、执行顺序:
unittest框架默认根据ASCII码的顺序加载测试用例,数字与字母的顺序为:0-9,A-Z,a-z(测试用例和测试测试类都是这种方式

class demo(unittest.TestCase):
    # 做一些测试数据的获取
    def setUp(self):
        print("set up")
#做一些测试数据的关闭
    def tearDown(self):
        print("teardown")
    def test_0aa(self):
        print('d   我是0aa')
    def test_aa(self):
        print('d  我是aa')

class bemo(unittest.TestCase):
        # 做一些测试数据的获取
    def setUp(self):
            print("set up")

        # 做一些测试数据的关闭
    def tearDown(self):
            print("teardown")

    def test_cc(self):
            print('b  我是cc')

    def test_Cc(self):
            print('b  我是C')

if __name__ == '__main__':
    unittest.main()
'''
执行顺序:(与书写顺序无关)
先执行类中ASCII码值小的bemo
其中的方法也是先执行ASCII较小的
aset up
b  我是C
teardown
set up
b  我是cc
teardown
OK
set up
d   我是0aa
teardown
set up
d  我是aa
teardown
'''

总结:如果我们需要指定用例的执行顺序,可以通过规定测试方法的名称来指定。

2、执行方法2
另外:在测试套件中可以较为灵活的执行方法,那么不使用main方法,通过Testsuite类中的 addTest()方法,按照我们想要的顺序去加载执行

if __name__ == '__main__':
    #创建测试套件
    #suite = unittest.TestSuite()
    #unittest.main()
#使用测试套件,向其中加入测试用例
    suite = unittest.TestSuite()
    suite.addTest(demo('test_aa'))#类名(‘方法名’)
    suite.addTest(bemo("test_cc"))
    # suite.addTest(demo("test_aa"))
    # suite.addTest(bemo("test_Cc"))
    # suite.addTest(demo("test_0aa"))
    # #suite.addTests([bemo("test_cc"),bemo("test_Cc"),demo("test_aa"),demo("test_0aa")])
    runner = unittest.TextTestRunner().run(suite)
    runner.run(suite)

3、
执行方法3
多个类中的方法执行

if __name__ == '__main__':
suite1 = unittest.TestLoader().loadTestsFromTestCase(bemo)
suite2 = unittest.TestLoader().loadTestsFromTestCase(demo)
suite3 = unittest.TestSuite([suite1,suite2])
unittest.TextTestRunner.run(suite3)

4、多个类中的方法执行—匹配执行

if __name__ == '__main__':
discover = unittest.defaultTestLoader.discover("./",'test*.py')
    unittest.TextTestRunner().run(discover)

HTMLTestRunner

HTML报告官方链接
https://github.com/huilansame/HTMLTestRunner_PY3
HTMLTestRunner是一个第三方模块,通过pip安装不了,需要下载后手动导入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值