使用TransactionTestCase进行测试使用真实数据库

时间:2013-04-14 15:56:10

标签: python django

当我使用 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...]
[]

首先显示正在使用真实数据库,而不是空的测试数据库。 其次,它在第一次测试后从数据库中删除所有

我真的不认为这是预期的行为,也不知道为什么会这样。

1 个答案:

答案 0 :(得分:1)

使用“manage.py test”没有此问题。它仅在手动运行测试文件时发生。