当我使用 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...]
[]
首先显示正在使用真实数据库,而不是空的测试数据库。 其次,它在第一次测试后从数据库中删除所有。
我真的不认为这是预期的行为,也不知道为什么会这样。
答案 0 :(得分:1)
使用“manage.py test”没有此问题。它仅在手动运行测试文件时发生。