我刚开始用鼻Nosetests开始,我的测试是失败的,因为鼻子无法看到的环境变量。
到目前为止,错误:AttributeError的:“设置”对象有没有属性“DJANGO_SETTINGS_MODULE”
我从.bash_profile中导出DJANGO_SETTINGS_MODULE这个固定
export DJANGO_SETTINGS_MODULE="settings"
现在,我看到:
AttributeError的:“设置”对象有没有属性“DATABASE_SUPPORTS_TRANSACTIONS”
为什么IPython的和Django的web服务器能够看到这些ENV变量,但鼻子却不能?
作为阿洛克说,鼻子不从django.db.backends.creation调用BaseDatabaseCreation.create_test_db(“无”),所以你需要手动设置此设置。
我没能得到那个工作。
然而,我发现NoseDjango。
安装NoseDjango有:
easy_install django-nose
由于Django的鼻子扩展Django的内置测试命令,你应该在settings.py它添加到您的INSTALLED_APPS:
INSTALLED_APPS = (
...
'django_nose',
...
)
然后在settings.py设置TEST_RUNNER:
TEST_RUNNER = 'django_nose.run_tests'
一旦NoseDjango是设置您可以通过运行你的鼻子测试:
manage.py test
显然,鼻子不调用 create_test_db()
中django/db/backends/creation.py
,所以你看到了这个错误。 只要将它设置为None
,或自己调用该方法。 不知道这是固定在最近版本的Django的。