unittest中,通过setup、teardown等实现用例初始化及释放和类的初始化及释放

1. 类的初始化和释放

类的初始化:setUpClass()
类的释放:tearDownClass()

这俩分别在整个class中所有case运行之前和之后只运行一次。

setUpClass() 方法用于类的初始化,比如在测试最开始打开app、打开浏览器等。
tearDownClass() 方法则用于类的释放,比如测试结束以后的清理工作,比如关掉进程等。

在使用的时候必须要加上@classmethod修饰符,classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需必须是表示自身类的 cls 参数,cls表示没有被实例化的类本身。

2. 用例的初始化和释放

用例的初始化:setUp()
用例的释放:tearDown()

这俩分别是在每个case之前和之后都会运行一次。

setUp() 方法用于用例的初始化,比如在执行测试用例之前进行的身份验证、关掉广告等。
tearDown() 方法则用于用例的释放,比如测试后的清理工作,比如数据还原、回到首页等。

它们是实例化的方法,是要实例化类之后才能被调用

举个栗子:
import unittest
class TestHH(unittest.TestCase):
    #setUpClass/tearDownClass:类方法,必须使用@classmethod修饰符
    @classmethod
    def setUpClass(cls):
        print("@@@ 所有case运行之前只运行一次! @@@")
    @classmethod
    def tearDownClass(cls):
        print("@@@ 所有case运行之后只运行一次! @@@")

    #实例化方法
    def setUp(self):
        print("---在case执行之前准备好测试环境---")
        
    def tearDown(self):
        print("---在case执行之后准备好测试环境---")

    #case
    def test_case01(self):
        print("* 第 1 个用例 *")

    def test_case02(self):
        print("* 第 2 个用例 *")

    def test_case03(self):
        print("* 第 3 个用例 *")

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

运行结果:
unittest中,通过setup、teardown等实现用例初始化及释放和类的初始化及释放_第1张图片

撒花✿✿ヽ(°▽°)ノ✿

你可能感兴趣的:(python,测试,python,unittest)