【Python】unittest测试框架中setup,teardown与setupclass,teardownclass的区别
- 每次执行测试用例的时候都会去执行一次setUp 和tearDown
import unittest
class Test(unittest.TestCase):
def setUp(self):
print("start!=======")
def test01(self):
print("执行测试用例01")
def test02(self):
print("执行测试用例02")
def test03(self):
print("执行测试用例03")
def addtest(self):
print("add方法")
def tearDown(self):
print("end-------------------!")
if __name__ == "__main__":
unittest.main()
- setUpClass和tearDownClass,而这个只有在开始和结束的时候执行一次
import unittest
class Test(unittest.TestCase):
@classmethod
def setUpClass(self):
print("start===============!")
def test01(self):
print("执行测试用例01")
def test02(self):
print("执行测试用例02")
def test03(self):
print("执行测试用例03")
def addtest(self):
print("add方法")
@classmethod
def tearDownClass(self):
print("end!===================")
if __name__ == "__main__":
unittest.main()`
总结:
setUp():每个测试方法运行前运行,测试前的初始化工作。一条用例执行一次,若N次用例就执行N次,根据用例的数量来定。
setUpClass():所有的测试方法运行前运行,为单元测试做前期准备,但必须使用@classmethod装饰器进行修饰,整个测试过程中只执行一次。
tearDown():每个测试方法运行结束后运行,测试后的清理工作。一条用例执行一次,若N次用例就执行N次。
tearDownClass():所有的测试方法运行结束后运行,为单元测试做后期清理工作,但必须使用@classmethod装饰器进行修饰,整个测试过程中只执行一次。