2014-12-04 47 views
0

我是新来的Django测试,我只有一个简单的print hello线djnago测试如何停止的Django重新测试数据库

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分钟显示结果。

如果在测试中使用一个单词,那么我必须等待3分钟。它非常烦人。

我认为它可能是重新创建数据库每次有很多迁移。

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

我使用django 1.7

最新发布的开发版本有命令--keepdb,但它不是在1.7

回答

1

如果你只是测试为发展宗旨,我建议设置你的测试数据库中使用sqlite3的,这将默认利用内存数据库,并应加速测试。

我通常把这个成只获取我的开发环境中执行LOCAL_SETTINGS ...

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

如果您计划推释放到生产环境中,你想测试对发动机它为您的生产数据库(MySQL,PostgreSQL等)提供服务。

相关问题