unittest的使用

2019-09-30  本文已影响0人  小鱿鱼Gun神

unittest是Python中的单元测试框架,可以用来作自动化测试框架的用例组织执行框架,它的优点是提供用例组织与执行方法;提供比较方法;提供丰富的日志、清晰的报告。

unittest一个类class继承 unittest.TestCase,就是一个测试用例。一个TestCase的实例就是一个测试用例,就是一个完整的测试流程。unittest所有的case以test开头,且只会执行以test开头定义的方法。

#coding:utf-8
import unittest

class TestMethod(unittest.TestCase):
    #每次方法之前执行
    def setUp(self):
        print('test-->setup')
    #每次方法之后执行
    def tearDown(self):
        print('test-->tearDown')
    def test_01(self):
        print('这是测试方法一')
    def test_02(self):
        print('这是第二个测试方法')

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

执行结果

image.png
由此可见每次执行case的时候都会去执行一次setUp跟tearDown,那么我不需要每次都去执行,只需要执行一次怎么去处理呢?
这里就要用到unittest 的类方法,这个类方法在整个测试中只执行一次
添加类方法
#coding:utf-8
import unittest

class TestMethod(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print('类执行之前的方法')
    @classmethod
    def tearDownClass(cls):
        print('类执行之后的方法')
    #每次方法之前执行
    def setUp(self):
        print('test-->setup')
    #每次方法之后执行
    def tearDown(self):
        print('test-->tearDown')
    def test_01(self):
        print('这是测试方法一')
    def test_02(self):
        print('这是第二个测试方法')

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

执行结果如下


image.png
上一篇 下一篇

猜你喜欢

热点阅读