我的设置:
运行时出现以下错误python manage.py test:
Traceback (most recent call last):
File "/src/venv/bin/django-admin.py", line 5, in <module>
management.execute_from_command_line()
File "/src/venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
utility.execute()
File "/src/venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 330, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/src/venv/lib/python2.7/site-packages/django/core/management/commands/test.py", line 30, in run_from_argv
super(Command, self).run_from_argv(argv)
File "/src/venv/lib/python2.7/site-packages/django/core/management/base.py", line 393, in run_from_argv
self.execute(*args, **cmd_options)
File "/src/venv/lib/python2.7/site-packages/django/core/management/commands/test.py", line 74, in execute
super(Command, self).execute(*args, **options)
File "/src/venv/lib/python2.7/site-packages/django/core/management/base.py", line 444, in execute
output = self.handle(*args, **options)
File "/src/venv/lib/python2.7/site-packages/django/core/management/commands/test.py", line 90, in …Run Code Online (Sandbox Code Playgroud) 我在为我的应用程序运行测试时遇到了一些麻烦,并且在上一篇文章中设法解决了这些问题。
现在执行的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)
但是,这似乎是一个不好的解决方案和作弊手段。运行测试时一定有充分的理由要运行迁移,所以我看不出禁用它们的充分理由。