我遇到了一些运行应用程序测试的问题,我在这个之前的帖子中成功解决了它们。
现在,执行
当测试数据库不存在时,它确实会在pgAdmin中创建,但是在此过程中卡住,并显示以下消息:
当我使用pgAdmin时,我无法立即看到任何新的
解决此问题的方法是这个解决方案,禁用迁移。这样它就不会再卡在这些消息上,可以运行默认的测试。
现在,执行
python manage.py test
不会引发任何错误,但它会在数据库创建时卡住:当测试数据库不存在时,它确实会在pgAdmin中创建,但是在此过程中卡住,并显示以下消息:
Creating test database for alias 'default'...
它被永久卡在这里,所以当我手动完成该进程并再次运行test
时,它会显示数据库已存在,并提示我要么删除它并重新创建,要么取消该进程。我输入'yes',然后进程又被卡住了,并显示出另一个信息:
Destroying old test database 'default'...
当我使用pgAdmin时,我无法立即看到任何新的
test_dbname
数据库,但是如果我关闭并再次打开它,我就可以看到,那里有test_dbname
,但是test
任务仍然被卡住,无法完成...解决此问题的方法是这个解决方案,禁用迁移。这样它就不会再卡在这些消息上,可以运行默认的测试。
.
----------------------------------------------------------------------
Ran 1 test in 0.002s
OK
然而,这似乎只是一个糟糕的解决方案和欺骗。运行测试时必须运行迁移,因此我看不到禁用它们的好理由。