python unitest单元测试框架中,有几个特殊的情况如下:
setUp():每个测试方法运行前运行,测试前的初始化工作。一条用例执行一次,若N次用例就执行N次,根据用例的数量来定。
setUpClass():所有的测试方法运行前运行,为单元测试做前期准备,但必须使用@classmethod装饰器进行修饰,整个测试过程中只执行一次。
tearDown():每个测试方法运行结束后运行,测试后的清理工作。一条用例执行一次,若N次用例就执行N次。
tearDownClass():所有的测试方法运行结束后运行,为单元测试做后期清理工作,但必须使用@classmethod装饰器进行修饰,整个测试过程中只执行一次。
import unittest
class TestUnittest(unittest.TestCase):
@classmethod
def setUpClass(cls):
print('在所有的用例执行前我只执行一次')
def setUp(self):
print('每执行一个用例我就会执行一次')
def test_1del(self):
print('del数据。。')
# self.assertEqual('1','1')
def test_add(self):
print('add数据。。')
# self.assertEqual('1','1')
def test_update(self):
print('update数据。。')
# self.assertEqual('1','1')
def test_0select(self):
print('select数据。。')
# self.assertEqual('1','1')
def tearDown(self):
print('每一个用例执行完之后我都会执行一次')
@classmethod
def tearDownClass(cls):
print('所有的用例执行完之后我只执行一次')
if __name__=='__main__':
unittest.main()
执行结果:
在所有的用例执行前我只执行一次
每执行一个用例我就会执行一次
select数据。。
每一个用例执行完之后我都会执行一次
.每执行一个用例我就会执行一次
del数据。。
每一个用例执行完之后我都会执行一次
.每执行一个用例我就会执行一次
add数据。。
每一个用例执行完之后我都会执行一次
.每执行一个用例我就会执行一次
update数据。。
每一个用例执行完之后我都会执行一次
.所有的用例执行完之后我只执行一次