使用Django进行测试:停留在测试数据库的创建上

dab*_*aba 5 python migration django django-1.8

我在为我的应用程序运行测试时遇到了一些麻烦,并且在上一篇文章中设法解决了这些问题。

现在执行的python manage.py test过程不会引起任何错误,但是它会卡在数据库创建中:

如我在pgAdmin中所见,当测试数据库不存在时,它确实会创建,但是它被此消息卡在进程中:

Creating test database for alias 'default'...
Run Code Online (Sandbox Code Playgroud)

它永远都停留在这里,因此当我手动完成该过程并test再次运行时,它说数据库存在,并提示我删除它并重新创建或取消该过程。我键入“是”,并且该过程再次被其他消息卡住:

Destroying old test database 'default'...
Run Code Online (Sandbox Code Playgroud)

使用pgAdmin打开时,我无法立即看到任何新test_dbname数据库,但是如果我关闭并再次打开它,就test_dbname可以了,但是test任务只是卡在那儿,无法进行...

解决此问题的方法是此解决方案,即禁用迁移。这样,它就不再卡在这些消息上,并且运行默认测试。

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

OK
Run Code Online (Sandbox Code Playgroud)

但是,这似乎是一个不好的解决方案和作弊手段。运行测试时一定有充分的理由要运行迁移,所以我看不出禁用它们的充分理由。

Sam*_*bel 12

尝试跑步python manage.py test --verbosity=2。这将告诉您确切的卡住位置,您可以从那里去。