我使用coverage.py和django nose运行单元测试。使用“默认”sqlite数据库时一切正常。然而,当我把它换成postgre数据库时,我得到了以下错误:
django.db.utils.ProgrammingError:关系“authentication_user”不存在
在test_settings.py中:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': 'localhost',
'PORT': 5432,
'NAME': 'testing_db',
'USER': 'user_name',
'PASSWORD': 'password'
}
}
用于运行测试的命令(位于“tests”文件夹中):
coverage run manage.py test tests
奇怪的是如果我管理一个人
TestCase
如下所示,测试运行正常(仅在运行测试集合时出错):
coverage run manage.py test tests.test_something