2017-10-13 198 views
2

我在运行测试时遇到了一些麻烦,我设法在this previous post中解决了这些问题。使用Django进行测试:停留在创建测试数据库

现在执行python manage.py test不经过没有引起任何错误,但它卡住在创建数据库:

当测试数据库不存在,它不创造,我可以在pgAdmin的看到,但它陷在与这个消息的过程:

Creating test database for alias 'default'... 

它永远在这里卡住了,所以当我手动完成该过程,然后再次运行test,它说的数据库中存在,并提示我可以删除它,创造新生活,或取消处理。 I型“是”,过程与此其它消息再次卡住:

Destroying old test database 'default'... 

随着pgAdmin的开放,我不能立即看到任何新的test_dbname数据库,但如果我关闭并重新打开它,我就可以了,有test_dbname是,但test任务只是卡在那里,并没有通过...

解决此问题的方法是this solution,禁用迁移。通过这种方式,它不再卡住这些消息,并且运行默认测试。

. 
---------------------------------------------------------------------- 
Ran 1 test in 0.002s 

OK 

但是,这似乎是一个不好的解决方案和作弊。在运行测试时必须有一个很好的理由,因此我没有看到禁用它们的好理由。

+0

你正在使用什么类型的数据库? –

+0

@SamBobel我正在使用PostgreSQL – dabadaba

+0

你是否在高度冗长的情况下运行它?它最有可能陷在你的一个迁移中,并且会告诉你哪一个迁移。 –

回答

1

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

相关问题