用django测试设置生菜的错误

时间:2012-02-23 17:05:20

标签: django testing automated-tests django-settings lettuce

我正在尝试将生菜与标准的django测试联系起来。生菜自己工作时效果很好。但是,当我从django.test.client导入客户端时,我收到错误:  “无法导入设置,因为环境变量DJANGO_SETTINGS_MODULE未定义。”

我的steps.py看起来像:

from lettuce import *
from django.test.client import Client

@before.all
    def set_browser():
    world.browser = Client()

@step(r'I access the url "(.*)"')
def have_the_number(step,url):
    world.response = world.browser.get(url)

我收到以下错误

            File "/usr/local/bin/lettuce", line 9, in <module>
    load_entry_point('lettuce==0.1.34', 'console_scripts', 'lettuce')()
File "/Library/Python/2.7/site-packages/lettuce-0.1.34-py2.7.egg/lettuce/lettuce_cli.py", line 71, in main
    result = runner.run()
File "/Library/Python/2.7/site-packages/lettuce-0.1.34-py2.7.egg/lettuce/__init__.py", line 114, in run
    self.loader.find_and_load_step_definitions()
  File "/Library/Python/2.7/site-packages/lettuce-0.1.34-py2.7.egg/lettuce/fs.py", line 42, in find_and_load_step_definitions
    module = __import__(to_load)
  File "/Users/aliahsan/djcode/drftest/features/steps.py", line 2, in <module>
    from django.test.client import Client
  File "/Library/Python/2.7/site-packages/django/test/__init__.py", line 5, in <module>
    from django.test.client import Client, RequestFactory
  File "/Library/Python/2.7/site-packages/django/test/client.py", line 27, in <module>
    from django.db import transaction, close_connection
  File "/Library/Python/2.7/site-packages/django/db/__init__.py", line 14, in <module>
    if not settings.DATABASES:
  File "/Library/Python/2.7/site-packages/django/utils/functional.py", line 276, in __getattr__
    self._setup()
  File "/Library/Python/2.7/site-packages/django/conf/__init__.py", line 40, in _setup
    raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.

我尝试在 init .py文件中设置DJANGO_SETTINGS_MODULE变量,但它也不起作用。 有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

我实际上一直在关注入门教程,并且在app文件夹中使用了Lettuce命令,并且没有为django找到任何设置文件。意识到后得到修复, 运行

python manage.py harvest
从项目文件夹中的

命令,它的工作原理。如果您只想测试项目中的特定应用程序,可以在收获时提及应用程序。默认情况下,它会测试设置文件中安装的所有应用中的所有功能。