不同测试用例类的文档here
我不确定在什么情况下我会使用每个测试用例类:
APITestCase公司
APISimpleTestCase
APITransactionTestCase
最佳答案
。
这也可以在Django Rest框架的源代码中看到
class APITransactionTestCase(testcases.TransactionTestCase):
client_class = APIClient
class APITestCase(testcases.TestCase):
client_class = APIClient
class APISimpleTestCase(testcases.SimpleTestCase):
client_class = APIClient
。。
我们不应该对数据库使用
APIClient
的原因是,测试数据将在多个测试中保留在数据库中。。。最后,
APISimpleTestCase
用两个APISimpleTestCase
块包装测试,一个用于整个测试类,一个用于类内的每个测试。这实际上阻止了在每个测试结束时回滚事务时更改其他测试的数据库。通过在整个测试类周围使用第二个APISimpleTestCase
块,特定的数据库事务行为可能很难测试,因此您希望回到使用APITransactionTestCase
的状态。