测试脚手架-TestFixture

测试脚手架-TestFixture
前面提到,测试脚手架会在执行一些测试代码之前与之后,让我们编写一些初始化和销毁的代码,主要分三个级别:
•方法级别:在方法执行前与执行后都提供自动调用的实例方法
setUp和tearDown
。类级别:在类执行前与执行后都提供自动调用的类方法,不管类中有多少方法,只执行一次。
setUpClass和tearDownClass
•模块级别:在模块执行前与执行后都提供自动调用的西数,不管模块中有多少类或方法,只执行一次
setUpModule和tearDownModule

在测试用例类中提供了2个固定名字的实例方法 (setUp 5tearDown),用于完成方法执行前和执行后的操作:

方法级别脚手架:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time:2022/6/15 22:48
# @Author:Lhtester
# @Filename:unittest_03.py
import unittest

def add(x ,y):
    return x + y
class AddTest(unittest.TestCase):
    def setup(self):
        print("每个方法执行前都会执行一遍setUp实例方法,用于完成通用的前置操作或初始化工作")
    def tearDown(self):
        print("每个方法执行后都会执行一遍tearDown实例方法,用于完成通用的后置操作或销毁工作")
    def test_01(self):
        print (add (10, 20))

    def test_02(self):
        print(add(30, 20))

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

执行结果:

 

 

 

类级别的脚手架
在测试用例类中提供了2个固定名字的类方法 (setUpClass 与tearDownClass),用于完成类执行前与执行后的操作。

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time:2022/6/15 22:48
# @Author:Lhtester
# @Filename:unittest_03.py
import unittest

def add(x ,y):
    return x + y
class AddTest(unittest.TestCase):
    #注意,类级别的脚手架的方法名,固定setUpClass与tearDownClass。都是类属性
    @classmethod
    def setUpClass(cls):
        print("当前类执行后都会执行一遍setUpClass类方法,用于完成通用的前置操作或销毀工作")
    @classmethod
    def tearDownClass(cls):
        print("当前类执行后都会执行一遍tearDownClass类方法,用于完成通用的后置操作或销毀工作")
    def test_01(self):
        print (add (10, 20))

    def test_02(self):
        print(add(30, 20))

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

模块脚手架:

import unittest

def setUpClass():
    print("当前类执行后都会执行一遍setUpClass类方法,用于完成通用的前置操作或销毀工作")

def tearDownClass():
    print("当前类执行后都会执行一遍tearDownClass类方法,用于完成通用的后置操作或销毀工作")
def add(x ,y):
    return x + y
class AddTest(unittest.TestCase):
    #注意,类级别的脚手架的方法名,固定setUpClass与tearDownClass。都是类属性
    @classmethod
    def setUpClass(cls):
        print("当前类执行后都会执行一遍setUpClass类方法,用于完成通用的前置操作或销毀工作")
    @classmethod
    def tearDownClass(cls):
        print("当前类执行后都会执行一遍tearDownClass类方法,用于完成通用的后置操作或销毀工作")
    def test_01(self):
        print (add (10, 20))

    def test_02(self):
        print(add(30, 20))
class AddTest1(unittest.TestCase):
    #注意,类级别的脚手架的方法名,固定setUpClass与tearDownClass。都是类属性
    @classmethod
    def setUpClass(cls):
        print("当前类执行后都会执行一遍setUpClass类方法,用于完成通用的前置操作或销毀工作")
    @classmethod
    def tearDownClass(cls):
        print("当前类执行后都会执行一遍tearDownClass类方法,用于完成通用的后置操作或销毀工作")
    def test_02(self):
        print (add (990, 20))

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

 

posted @ 2022-06-27 17:48  安好_世界  阅读(163)  评论(0编辑  收藏  举报