在所有测试完成后,django 测试是否有一个类似于 setUp() 的 breakDown() 是 运行?

Does django testing have a breakDown() similar to setUp() that is ran after all tests complete?

我 运行 在 django 中进行了一些测试,但它们依赖于外部服务的响应。例如, 我可能会创建一个客户并希望确认它已在外部服务中创建。

完成测试后,我想从外部服务中删除所有测试客户。

理想情况下,将有一个类似于 setUp() 的方法在所有测试完成后运行。 有这样的东西吗?

所以 Django 的测试框架使用 Python 标准库模块,unittest。这就是 setUp() 方法的来源。

此库包含另一个方法 tearDown(),该方法在测试 运行 后立即调用。可以找到更多信息 here

您可以使用 unittest.TestCase.tearDown or unittest.TestCase.tearDownClass

tearDown(...) 是调用测试方法并记录结果后立即调用的方法。

但是,tearDownClass(...) 是在个体 class 的测试后被调用的 运行。 即每次测试一次class.

IMO,使用tearDownClass(...)方法更合适,因为你可能不需要check/acknoledge搜索相同[=的测试用例后的外部服务37=]