未定义django-test-utils全局名称'setup_test_environment'

时间:2013-02-01 18:28:42

标签: python django django-testing

我正在尝试使用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 :(得分:0)

这个包很老了。最后指定的支持是Django 1.2。通过查看错误消息以及调用setup_test_environment的位置,我假设pip版本更旧。

通过查看Github上的source code,您会看到文件keep_database.py已更新为具体导入setup_test_environment

from django.test.utils import setup_test_environment

这不在旧版本的代码中,可能是您pip安装的版本 - 因此错误。

同样,这个项目整体来说很旧,你应该找到一个替代方案,但如果你必须使用这个项目,我建议你从上面的Github链接获得一个新的分支,并通过setup.py手动安装。