我是django测试的新手,我在djnago测试中只有一条简单的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分钟以显示结果。
如果在测试中输入一个单词,那么我必须等待3分钟。它非常讨厌。
我认为,每次进行多次迁移都可能会造成重新创建数据库。
有没有办法让它快速或每次都停止重新创建数据库。
我正在使用django 1.7
最新的开发版本具有命令--keepdb
但不在1.7
答案 0 :(得分:1)
如果您只是为了开发目的进行测试,我建议您将测试数据库设置为使用sqlite3,默认情况下它将利用内存数据库并加快测试速度。
我通常把它放到local_settings中,只能为我的开发环境执行...
if 'test' in sys.argv:
DATABASES['default'] = {'ENGINE': 'django.db.backends.sqlite3'}
如果您计划将发布版推送到生产环境,则需要针对为您的生产数据库(MySQL,PostgreSQL等)提供服务的引擎进行测试。