Python 尝试使用nose运行测试时配置不当(不在django项目中)
我创建了一个项目来找出适合我的另一个python项目的项目结构 我真正想做的是运行一些测试 example.py看起来像这样Python 尝试使用nose运行测试时配置不当(不在django项目中),python,django,nose,Python,Django,Nose,我创建了一个项目来找出适合我的另一个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):
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.
回溯(最近一次呼叫最后一次):
文件“/usr/local/bin/nosetests”,第9行,在
加载入口点(“nose==1.3.0”,“控制台脚本”,“nosetests”)()
文件“/usr/local/lib/python2.7/dist packages/nose/core.py”,第118行,在__
**额外参数)
文件“/usr/lib/python2.7/unittest/main.py”,第94行,在__
self.parseArgs(argv)
文件“/usr/local/lib/python2.7/dist packages/nose/core.py”,第135行,在parseArgs中
self.config.configure(argv,doc=self.usage())
文件“/usr/local/lib/python2.7/dist packages/nose/config.py”,第344行,在configure中
self.plugins.configure(选项,self)
文件“/usr/local/lib/python2.7/dist packages/nose/plugins/manager.py”,第284行,在configure中
cfg(选项,配置)
文件“/usr/local/lib/python2.7/dist-packages/nose/plugins/manager.py”,第99行,在调用中__
返回自呼叫(*arg,**kw)
文件“/usr/local/lib/python2.7/dist-packages/nose/plugins/manager.py”,第167行,简单格式
结果=方法(*参数,**kw)
文件“/usr/local/lib/python2.7/dist packages/querys/nose_plugin.py”,第22行,在configure中
connection.use\u debug\u cursor=True
文件“/usr/local/lib/python2.7/dist-packages/django/db/_-init___;.py”,第37行,在__
return setattr(连接[默认\数据库\别名]、名称、值)
文件“/usr/local/lib/python2.7/dist packages/django/db/utils.py”,第196行,在__
self.sure\u默认值(别名)
文件“/usr/local/lib/python2.7/dist packages/django/db/utils.py”,第170行,默认值
conn=self.databases[别名]
文件“/usr/local/lib/python2.7/dist-packages/django/utils/functional.py”,第49行,在__
res=instance.\uuuuu dict\uuuuu[self.func.\uuuuuu name\uuuuuuu]=self.func(实例)
数据库中的文件“/usr/local/lib/python2.7/dist packages/django/db/utils.py”,第153行
self.\u databases=settings.databases
文件“/usr/local/lib/python2.7/dist-packages/django/conf/_-init___.py”,第54行,在__
自我设置(名称)
文件“/usr/local/lib/python2.7/dist-packages/django/conf/_-init___;.py”,第47行,在安装程序中
%(描述,环境变量)
django.core.exceptions.ImpropertlyConfigured:请求设置数据库,但未配置设置。在访问设置之前,必须定义环境变量DJANGO_SETTINGS_MODULE或调用SETTINGS.configure()。
我一点也不明白。django和这有什么关系
编辑1:
无法显示代码,因为我已经学习了如何使用unittest运行测试,并删除了此项目
但我向你保证,A的代码就是关于使用B的
类别A():
定义初始化(自):
self.b=b()
def foo(self):
b、 foo()
B只是一个带有foo方法的类,该方法从行中打印字符串“foo”。
File "/usr/local/lib/python2.7/dist-packages/queries/nose_plugin.py", line 22, in configure
connection.use_debug_cursor = True
似乎您已经安装了django dynamic fixture。这个包安装了一个使用django ORM的nose_插件
- 禁用django dynamic fixture(我不知道怎么做)或
- 卸载django dynamic fixture或
- 在隔离的虚拟环境中工作
模块A.A
中的一个
对象正在使用Django ORM?看看它不是Django项目。这与此有什么关系?除非A()
使用了一些Django组件,否则您的代码工作得非常好。向我们显示A()
的代码。