Django unittest中的对象创建问题

时间:2019-07-04 16:35:04

标签: python django python-3.x unit-testing

我有一个Django测试用例,我正在setUp中创建一些对象:

OBJ_COUNT = 4

class ObjTest(TestCase):

    def setUp(self):
        for i in range(OBJ_COUNT):
            Obj.objects.create()

运行此测试将得到5个对象,而不是4个对象。

1 个答案:

答案 0 :(得分:0)

测试数据库就是问题所在。

我保留数据库以使测试运行更快:

$ ./manage.py test appname --keepdb

有时,在进行迁移或其他任何操作后,数据库都将损坏:在每次测试运行开始时,它始终只有1个Obj对象。

在干净的DB(没有--keepdb)上运行测试后,它开始按预期工作。