TestCase 类提供了以下 4 种钩子方法:
方法 | 说明 |
---|---|
setUp | 在每一个测试用例执行之前,会先执行此方法。一般用于初始化参数。 |
tearDown | 在每一个测试用例执行之后,会执行此方法。一般用于释放资源。 |
setUpClass | 在类中的所有测试用例执行之前,会先执行此方法。 |
tearDownClass | 在类中的所有测试用例执行之后,会执行此方法。 |
示例:
class TestHookMethod(unittest.TestCase):
'''测试钩子方法'''
@classmethod
def setUpClass(cls):
print('准备执行 TestHookMethod 中所有测试用例\n')
@classmethod
def tearDownClass(cls):
print('TestHookMethod 中所有测试用例都已执行')
def setUp(self):
print('开始执行某个测试用例')
def tearDown(self):
print('某个测试用例已执行完毕')
def test_a(self):
self.assertEqual(1, 1)
def test_b(self):
self.assertEqual(2, 2)
运行结果:
准备执行 TestHookMethod 中所有测试用例
开始执行某个测试用例
某个测试用例已执行完毕
开始执行某个测试用例
某个测试用例已执行完毕
TestHookMethod 中所有测试用例都已执行
注意: setUpClass 与 tearDownClass 钩子方法,必须加上 @classmethod 注解哦 O(∩_∩)O~