如何停止Django重新创建测试数据库

2024-06-17 13:03:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我是django测试的新手,在django测试中我只有一个简单的print hello

class SimpleTest(TestCase):
    def setUp(self):
        self.kid = mommy.make(User)

    def test_details(self):
        print self.kid
        self.assertEqual(200, 200)

我用这个命令运行测试

./manage.py test tests/myapp/

运行这个测试真的需要3分钟。djnago首先说创建数据库,然后等待3分钟显示结果。在

如果chnage一个词在测试,那么我再等3分钟。很烦人。在

我想这可能是因为它每次都要重新创建数据库,而且要进行多次迁移。在

有没有什么方法可以让它更快或者每次都停止重新创建数据库。在

我正在使用django 1.7

最新的dev版本有命令--keepdb,但它不在1.7中


Tags: djangotest命令self数据库hellodefsetup
1条回答
网友
1楼 · 发布于 2024-06-17 13:03:52

如果您只是出于开发目的而进行测试,我建议您将测试数据库设置为使用sqlite3,这将在默认情况下利用内存中的数据库,并应加快测试速度。在

我通常把它放在本地设置中,它只在我的开发环境中执行。。。在

if 'test' in sys.argv:
    DATABASES['default'] = {'ENGINE': 'django.db.backends.sqlite3'}

如果您计划将一个版本推送到生产环境中,那么您将需要针对为您的生产数据库(MySQL、PostgreSQL等)提供服务的引擎进行测试。在

相关问题 更多 >