测试开发全栈之Python自动化 Unittest 框架之测试固件:test fixture
程序员一凡
·
2021年02月19日
·
1005 次阅读
「原创声明:保留所有权利,禁止转载」
什么是测试固件
简单来说就是做一些测试过程中需要准备的东西
比如创建临时的数据库,打开浏览器或文件和目录等等(不限定列举的这几种形式)
其中 setUp() 和 setDown() 是最常用的方法
还有 setUpClass() 以及 tearDownClass()
setUp() 和 tearDown()
在每一条用例执行前会先执行 setUp()
在每一条用例执行后会执行 setDown()
那么如果有 100 条用例?难道都要执行一次 setup 和 down???继续往下看
# -*- coding: utf-8 -*-
# @Author : 微信公众号:程序员一凡
import unittest
class TestCase(unittest.TestCase):
def setUp(self) -> None:
print("开始执行用例")
def test1(self):
print("用例1")
def test2(self):
print("用例2")
def tearDown(self) -> None:
print("用例执行结束")
if __name__ == '__main__':
unittest.main()
# 运行结果
开始执行用例
用例1
用例执行结束
开始执行用例
用例2
用例执行结束
..
setUpClass() 以及 tearDownClass()
setUpClass() 以及 tearDownClass() 在所有用例前只会执行一次
@classmethod # 类方法需要加上 classmethod 装饰器
# -*- coding: utf-8 -*-
# @Author : 码上开始
import unittest
class TestCase(unittest.TestCase):
@classmethod # 类方法需要加上classmethod装饰器
def setUpClass(cls) -> None:
print("开始执行用例")
def test1(self):
print("用例1")
def test2(self):
print("用例2")
@classmethod # 类方法需要加上classmethod装饰器
def tearDownClass(cls) -> None:
print("用例执行结束")
if __name__ == '__main__':
unittest.main()
# 运行结果
开始执行用例
用例1
用例2
用例执行结束
TesterHome 为用户提供「保留所有权利,禁止转载」的选项。
除非获得原作者的单独授权,任何第三方不得转载标注了「原创声明:保留所有权利,禁止转载」的内容,否则均视为侵权。
具体请参见TesterHome 知识产权保护协议。
暂无回复。