我在Django是个新手。我在项目中有一个应用程序,它是用测试驱动开发开发的。在生产中,我们使用MySQL作为数据库引擎,但是如果我使用MySQL运行测试:
./manage test myapp然后,它占用了太多的时间(2-4分钟)来创建数据库,尽管测试速度相当快(大约一秒)。
如果我使用SQLite,那么测试只需要几秒钟,这对我来说是完美的。但问题是,我经常需要在MySQL上使用本地数据库的管理界面。
如何使django在sqlite上运行测试并使用mysql启动runserver?
现在,我在设置/local.py中使用这些设置,但是我应该注释/取消注释行来更改数据库,这取决于我目前所做的活动。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # Use for testing
'NAME': 'databasename.db3',
# 'ENGINE': 'django.db.backends.mysql', # Use if need admin on localserver
# 'NAME': 'databasename',
'USER': 'myuser', # Not used with sqlite3.
'PASSWORD': 'somepassword', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
'TEST_CHARSET': "utf8", #option to make tesing database with utf8
'TEST_COLLATION': "utf8_general_ci",
}
}发布于 2014-05-28 14:43:58
发布于 2015-05-04 09:33:13
你不需要做任何黑客。“-设置”-这就是你要找的
python manage.py test APP --settings settings.local
python manage.py test APP --settings settings.productionhttps://stackoverflow.com/questions/23914733
复制相似问题