2010-02-10 37 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

相關問題