我正在Python中运行一些单元测试,并且想在所有测试用例都运行完之后调用一个函数。
class MyTestCase(TestCase):
def setUp(self):
self.credentials = credentials
def tearDown(self):
print("finished running " + self._testMethodName)
def tearDownModule(self):
print("finished running all tests")
def test_1(self):
#do something
def test_2(self):
#do something else
setUp和tearDown在每个单独的测试之前和之后运行。但是我想在所有测试完成运行后调用一个函数(在本例中为test_1和test_2)。
从文档中看来,tearDownModule()函数应该可以执行此操作,但是似乎并未调用它。
答案 0 :(得分:3)
tearDownModule
用于模块范围,而不是方法。相反,您可能需要tearDownClass
:
class MyTestCase(TestCase):
@classmethod
def tearDownClass(cls):
...