2010-02-10 70 views
1

我刚刚开始使用鼻子和鼻子测试,我的测试失败,因为鼻子无法看到环境变量。为什么鼻子没有看到我的任何环境变量?

到目前为止,错误: AttributeError的: '设置' 对象有没有属性 'DJANGO_SETTINGS_MODULE'

我从.bash_profile中

export DJANGO_SETTINGS_MODULE="settings" 

现在我看到出口DJANGO_SETTINGS_MODULE解决了这个问题:
AttributeError:'设置'对象没有属性'DATABASE_SUPPORTS_TRANSACTIONS'

为什么iPython和Django网络服务器能够看到这些EN V变量,但鼻子不能?

回答

2

正如Alok所说,鼻子不会从django.db.backends.creation调用BaseDatabaseCreation.create_test_db('None'),因此您需要手动设置此设置。

我无法得到这个工作。

但是,我找到了NoseDjango。

与安装NoseDjango:

easy_install django-nose 

由于Django的鼻子扩展Django的内置测试命令,你应该把它添加到您的INSTALLED_APPS在settings.py:在

INSTALLED_APPS = (
... 
'django_nose', 
... 
) 

然后设置TEST_RUNNER settings.py:

TEST_RUNNER = 'django_nose.run_tests' 

一旦设置了NoseDjango,您可以通过以下方式运行您的鼻子测试:

manage.py test 
1

显然鼻子doesn't callcreate_test_db()django/db/backends/creation.py,所以你看到这个错误。只需将其设置为None,或者自己调用该方法。不确定这是否在最新版本的Django中得到解决。

+0

from django.db.backends.creation import BaseDatabaseCreation; BaseDatabaseCreation.create_test_db('None')#没有工作 – BryanWheelock 2010-02-10 20:53:32

+0

在tests.py中的设置: DATABASE_SUPPORTS_TRANSACTIONS = None#没有工作 – BryanWheelock 2010-02-10 21:01:35

+0

我不知道或使用Django,但谷歌搜索显示http:// github。 com/inoi/nosedjango/commit/45e9dbd4e59896ae9160e029d92854ce37f4877d,看起来像你想要的。 – 2010-02-10 21:10:45

相关问题