【问题标题】:django-test-utils global name 'setup_test_environment' is not defineddjango-test-utils 全局名称“setup_test_environment”未定义
【发布时间】:2013-02-01 18:28:41
【问题描述】:

我正在尝试使用 django-test-utils 在测试运行后保留我的数据库。

但是当我执行快速测试命令时:

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

谢谢。

【问题讨论】:

    标签: python django django-testing


    【解决方案1】:

    这个包太旧了。最后指定的支持是 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 手动安装。

    【讨论】:

      猜你喜欢
      • 2017-05-12
      • 2013-11-25
      • 1970-01-01
      • 2013-07-28
      • 2013-06-07
      • 1970-01-01
      • 2017-07-03
      • 1970-01-01
      • 2018-05-04
      相关资源
      最近更新 更多