使用Django进行测试:坚持创建测试数据库

时间:2017-10-13 13:07:57

标签: python django migration django-1.8

我在为我的应用运行测试时遇到了一些问题,我设法在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

然而,这似乎是一个糟糕的解决方案和作弊。运行测试时必须有一个很好的理由进行迁移,所以我没有看到很好的理由来禁用它们。

1 个答案:

答案 0 :(得分:6)

尝试运行python manage.py test --verbosity=2。那会告诉你它到底卡在哪里,你可以从那里去。