【发布时间】:2014-01-16 07:14:20
【问题描述】:
我创建了一个项目来找出适合我的其他 python 项目的项目结构。
我真正想做的是运行一些测试。
example.py 看起来像这样
import unittest
from A.A import A
__author__ = 'michael'
class ExampleTest(unittest.TestCase):
def setUp(self):
self.a = A()
pass
def test_stub(self):
self.assertEquals(self.a.foo(), 'foo')
if __name__ == '__main__':
unittest.main()
当我跑步时
/Temp $ nosetests
我遇到了 django 异常。
Traceback (most recent call last):
File "/usr/local/bin/nosetests", line 9, in <module>
load_entry_point('nose==1.3.0', 'console_scripts', 'nosetests')()
File "/usr/local/lib/python2.7/dist-packages/nose/core.py", line 118, in __init__
**extra_args)
File "/usr/lib/python2.7/unittest/main.py", line 94, in __init__
self.parseArgs(argv)
File "/usr/local/lib/python2.7/dist-packages/nose/core.py", line 135, in parseArgs
self.config.configure(argv, doc=self.usage())
File "/usr/local/lib/python2.7/dist-packages/nose/config.py", line 344, in configure
self.plugins.configure(options, self)
File "/usr/local/lib/python2.7/dist-packages/nose/plugins/manager.py", line 284, in configure
cfg(options, config)
File "/usr/local/lib/python2.7/dist-packages/nose/plugins/manager.py", line 99, in __call__
return self.call(*arg, **kw)
File "/usr/local/lib/python2.7/dist-packages/nose/plugins/manager.py", line 167, in simple
result = meth(*arg, **kw)
File "/usr/local/lib/python2.7/dist-packages/queries/nose_plugin.py", line 22, in configure
connection.use_debug_cursor = True
File "/usr/local/lib/python2.7/dist-packages/django/db/__init__.py", line 37, in __setattr__
return setattr(connections[DEFAULT_DB_ALIAS], name, value)
File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 196, in __getitem__
self.ensure_defaults(alias)
File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 170, in ensure_defaults
conn = self.databases[alias]
File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 49, in __get__
res = instance.__dict__[self.func.__name__] = self.func(instance)
File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 153, in databases
self._databases = settings.DATABASES
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 54, in __getattr__
self._setup(name)
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 47, 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.
我完全不明白。 django 和它有什么关系?
编辑1:
无法显示代码,因为我已经学会了如何使用 unittest 运行测试并删除了这个项目。
但我向你保证,A 的代码只是关于使用 B。类似于
A 类(): def __init(self): self.b = B()
def foo(自我): b.foo()
而 B 只是一个带有 foo 方法的类,它打印字符串 'foo'。
【问题讨论】:
-
A来自模块A.A的对象正在使用 Django ORM? -
这不是一个 django 项目。这和那有什么关系?
-
您的代码运行良好,除非
A()正在使用某些 Django 组件。向我们展示A()的代码。