【发布时间】:2018-03-25 15:18:46
【问题描述】:
我在为我的应用程序运行测试时遇到了一些问题,我设法在this previous post 中解决了这些问题。
现在执行 python manage.py test 确实没有引发任何错误,但它在创建数据库时卡住了:
当测试数据库不存在时,它会创建,正如我在 pgAdmin 中看到的那样,但它会卡在进程中并显示以下消息:
Creating test database for alias 'default'...
它永远卡在这里,所以当我手动完成该过程并再次运行test 时,它说数据库存在并提示我要么删除它并重新创建,要么取消该过程。我输入“是”,该过程再次被这条消息卡住:
Destroying old test database 'default'...
打开 pgAdmin 后,我无法立即看到任何新的 test_dbname 数据库,但如果我关闭并再次打开它,我可以看到 test_dbname,但 test 任务只是卡在那里并且没有通过...
解决此问题的方法是this solution,禁用迁移。这样,它就不会再被这些消息卡住,并且会运行默认测试。
.
----------------------------------------------------------------------
Ran 1 test in 0.002s
OK
但是,这似乎是一个糟糕的解决方案和作弊。运行测试时必须有充分的理由运行迁移,所以我认为没有充分的理由禁用它们。
【问题讨论】:
-
您使用的是什么类型的数据库?
-
@SamBobel 我正在使用 PostgreSQL
-
您是否以高详细度运行它?它很可能会卡在您的一个迁移中,这会告诉您是哪一个。
标签: python django migration django-1.8