【发布时间】:2019-03-08 00:11:06
【问题描述】:
我正在使用 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
对这里出了什么问题有任何想法吗?
【问题讨论】:
-
您找到解决方案了吗?我遇到了同样的问题。
-
@Sam 据我所知,其中一个测试用例可能存在错误,这将阻止整个套件运行。我会尝试一个一个地运行它们,直到你确定哪一个有问题。
标签: python django postgresql