Unittest框架之测试固件:test fixture
原创
©著作权归作者所有:来自51CTO博客作者码上开始的原创作品,请联系作者获取转载授权,否则将追究法律责任
Unittest 框架之测试固件:test fixture
什么是测试固件
- 简单来说就是做一些测试过程中需要准备的东西
- 比如创建临时的数据库,打开浏览器或文件和目录等等**(不限定列举的这几种形式)**
- 其中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
用例执行结束
如果对软件测试、接口测试、自动化测试、持续集成、面试经验。感兴趣可以进到893694563,群内会有不定期的分享测试资料。还会有技术大牛,业内同行一起交流技术