当我使用django.test.TransactionTestCase进行测试时,我发现它使用的是真实数据库。
(django.test.TestCase工作正常!)
我已经在我自己的项目中使用简单的代码确认了这一点:
class TestInventoryTransactions(TransactionTestCase):
def setUp(self):
print(Item.objects.all())
def test1(self):
pass
def test2(self):
pass
这个的输出是
[...Bunch of items...]
[]
首先表明正在使用真实数据库而不是空的测试数据库。其次,它会在第一次测试后从数据库中删除所有内容。
我真的不认为这是预期的行为,也不明白为什么会发生。