运行单元测试时,Django无法找到设置文件

pix*_*xel 5 django django-testing pycharm

我正在尝试在我的django应用程序上运行单元测试但是我遇到了错误.运行应用程序很好.我正在使用pycharm 3.0.

C:\Users\user\my-project-env\Scripts\python.exe "K:\Program Files (x86)\JetBrains\PyCharm 3.0\helpers\pycharm\utrunner.py" C:/Users/user/PycharmProjects/my-project/my_app/ true
Testing started at 20:16 ...
Traceback (most recent call last):
  File "K:\Program Files (x86)\JetBrains\PyCharm 3.0\helpers\pycharm\utrunner.py", line 113, in <module>
    modules = loadModulesFromFolderRec(a[0])
  File "K:\Program Files (x86)\JetBrains\PyCharm 3.0\helpers\pycharm\utrunner.py", line 63, in loadModulesFromFolderRec
    os.path.walk(folder, walkModules, (modules, pattern))
  File "C:\Users\user\my-project-env\lib\ntpath.py", line 259, in walk
    func(arg, top, names)
  File "K:\Program Files (x86)\JetBrains\PyCharm 3.0\helpers\pycharm\utrunner.py", line 51, in walkModules
    modules.append(loadSource(os.path.join(dirname, name)))
  File "K:\Program Files (x86)\JetBrains\PyCharm 3.0\helpers\pycharm\utrunner.py", line 40, in loadSource
    module = imp.load_source(moduleName, fileName)
  File "C:/Users/user/PycharmProjects/my-project/my_app/tests.py", line 8, in <module>
    from django.test import TestCase
  File "C:\Users\user\my-project-env\lib\site-packages\django\test\__init__.py", line 5, in <module>
    from django.test.client import Client, RequestFactory
  File "C:\Users\user\my-project-env\lib\site-packages\django\test\client.py", line 21, in <module>
    from django.db import close_connection
  File "C:\Users\user\my-project-env\lib\site-packages\django\db\__init__.py", line 11, in <module>
    if settings.DATABASES and DEFAULT_DB_ALIAS not in settings.DATABASES:
  File "C:\Users\user\my-project-env\lib\site-packages\django\conf\__init__.py", line 53, in __getattr__
    self._setup(name)
  File "C:\Users\user\my-project-env\lib\site-packages\django\conf\__init__.py", line 46, in _setup
    % (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting DATABASES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)

aka*_*Rem 5

看回溯:

django.core.exceptions.ImproperlyConfigured: 请求设置 DATABASES,但未配置设置。在访问设置之前,您必须定义环境变量 DJANGO_SETTINGS_MODULE 或调用 settings.configure()。


Tom*_*mas 5

您使用的是Djangos单元测试库,还是使用蟒蛇?Django需要设置一些东西以便能够加载例如模型,即它需要设置,如堆栈跟踪所示.

如果您按照文档https://docs.djangoproject.com/en/1.5/topics/testing/overview/,您可以看到Django已经完成了正常单元测试功能的一些插件.使用它并调用Django单元测试将为您运行它.将它作为Django单元测试运行意味着运行它们

$ ./manage.py test

或者因为你使用pycharm,你可以选择将单元测试作为Django单元测试来运行,PyCharm会在你调用测试时问你.