其他分享
首页 > 其他分享> > unittest之setUp、tearDown及setUpClass(),tearDownClass()

unittest之setUp、tearDown及setUpClass(),tearDownClass()

作者:互联网

一、setUpClass(),和tearDownClass():

1、需要结合@classmethod 装饰器使用

2、整个类,这两个方法只运行一次;

3、setUpClass()在所有用例执行前执行一次;tearDownClass()在所有用例执行完成后执行一次;

使用:结合着两个方法的特性,看场景需要,选择是否使用该方法;

二、setUp()、tearDown()

1、setUp()在每个用例执行前执行一次;

2\tearDown()在每个用例执行后执行一次;

三、实例:我们使用下面的简单代码来体现调用次数情况

import unittest
class test_func(unittest.TestCase):
    @classmethod
    def setUpClass(cls) -> None:
        print('this is setUpClass')
    def setUp(self) -> None:
        print("setUp")
    def test_func1(self):
        print('test_func1')
    def test_func2(self):
        print('test_func2')
    def tearDown(self) -> None:
        print('tearDown')
    @classmethod
    def tearDownClass(cls) -> None:
        print('tearDownClass')


if __name__=='__main__':
    test=test_func()

创建一个run模块,来执行上面的测试类

import unittest
from unittestreport import TestRunner
#这里的路径换成你自己写的测试类的路径
suit=unittest.defaultTestLoader.discover(r'E:\pystudy\dayxx\common')
runner=TestRunner(suit)
runner.run()

 

运行结果

this is setUpClass
setUp
test_func1
tearDown
test_func1 (test_unittest1.test_func)执行——>【通过】
setUp
test_func2
tearDown
test_func2 (test_unittest1.test_func)执行——>【通过】
tearDownClass

 

标签:setUpClass,tearDown,unittest,print,tearDownClass,test,setUp
来源: https://www.cnblogs.com/yxm-yxwz/p/16380090.html