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,群内会有不定期的分享测试资料。还会有技术大牛,业内同行一起交流技术