django-test-utils 全局名称 'setup_test_environment' 未定义
我正在尝试使用django-test-utils来在测试运行后保留我的数据库。
但是当我执行quicktest命令时:
python manage.py quicktest
我遇到了这个错误:
re/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/apps/desarrollo/workspace/3sure-server/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv
self.execute(*args, **options.__dict__)
File "/apps/desarrollo/workspace/3sure-server/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute
output = self.handle(*args, **options)
File "/apps/desarrollo/workspace/3sure-server/venv/local/lib/python2.7/site-packages/test_utils/management/commands/quicktest.py", line 30, in handle
failures = test_runner(test_labels, verbosity=verbosity, interactive=interactive)
File "/apps/desarrollo/workspace/3sure-server/venv/local/lib/python2.7/site-packages/test_utils/test_runners/keep_database.py", line 30, in run_tests
setup_test_environment()
NameError: global name 'setup_test_environment' is not defined
我已经通过pip安装了django-test-utils,并在我的settings.py中引用了这个应用。我是不是漏掉了什么安装步骤?
我使用的是Django==1.4.3和django-test-utils==0.3
谢谢。
1 个回答
0
这个包非常老旧。它最后支持的版本是Django 1.2。从错误信息和调用setup_test_environment
的地方来看,我猜你的pip
版本可能也更老。
如果你去看一下Github上的源代码,你会发现文件keep_database.py
已经更新,专门引入了setup_test_environment
:
from django.test.utils import setup_test_environment
这个在旧版本的代码里是没有的,而你可能安装的就是这些旧版本的代码,所以才会出现错误。
总之,这个项目整体上都很老旧,建议你找个替代品。不过如果你非得用这个项目的话,我建议你从上面的Github链接获取一个新的分支,然后通过setup.py
手动安装。