unittest05--测试固件

测试固件(Test Fixture)

    也称用例包裹方法
    测试固件是固定的测试代码,整合了代码的公共部分
    用于处理测试执行之前的准备工作和测试执行后的清理工作
    如果代码需要在整个模块之前做,可以使用setUpModule,把代码放到方法体中
    如果代码需要每个类之前做,可以使用setUpClass,把代码放到方法体中
    如果代码需要每个用例之前做,可以使用setUp,把代码放到方法体中

测试固件的分类

setUpModule() -- 初始化工作
    在执行模块中所有测试类之前执行且只执行一次的代码
    放在测试类的外边、前面
tearDownModule() -- 结束初始化工作
    在执行完模块中所有测试类之后执行且只执行一次的代码
    放在测试类的外边、前面
setUpClass(cls)
    在测试类加载时执行只执行一次
    用于实现测试前的初始化工作
    必须使用@classmethod修饰
    形参使用cls或self均可,默认cls,常用self
tearDownClass(cls)
    在测试类运行结束时执行只执行一次
    用于实现测试类执行完成时的清理工作
    必须使用@classmethod修饰
    形参使用cls或self均可,默认cls,常用self
setUp(self)
    用于实现每个测试方法执行前的准备工作
    每个测试方法执行前执行一次
    形参必须是self
tearDown(self)
    用于实现每个测试方法执行完毕后的清理工作
    每个测试方法执行完成后执行一次
    形参必须是self

测试固件的使用

"""
    测试固件的使用
"""
import unittest
class Ceshi(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print('本类中所有测试用例执行前只做一次的代码setUpClass')
    def setUp(self) -> None:#-> None可以不写 表示返回值
        print('本类中每一个测试用例执行前先做的代码setUp')
    def tearDown(self) -> None:
        print('本类中每一个测试用例执行完后做的代码tearDown')
    @classmethod
    def tearDownClass(cls) -> None:
        print('本类中所有的测试用例执行完毕后才做一次的代码tearDownClass')
    def test1(self):#Ceshi类的成员方法,test开头叫做测试用例
        print('第一个测试用例test1')
    def test2(self):
        print('第二个测试用例test2')

# 执行测试
if __name__=='__main__':
    unittest.main()
上一篇:10:超级玛丽游戏


下一篇:十七、centeros7安装docker