Python pytest django:没有这样的数据库错误
我知道pytest django的默认行为是通过应用迁移创建测试数据库,并在测试运行后删除数据库 我没有conftest.py文件,只有一个pytest.ini,如下所示:Python pytest django:没有这样的数据库错误,python,django,pytest-django,Python,Django,Pytest Django,我知道pytest django的默认行为是通过应用迁移创建测试数据库,并在测试运行后删除数据库 我没有conftest.py文件,只有一个pytest.ini,如下所示: DJANGO_SETTINGS_MODULE = myproject.test_settings python_files = tests.py test_*.py *_tests.py pytest -v test_db_access.py 我使用访问数据库的示例测试运行pytest,如下所示: DJANGO_SET
DJANGO_SETTINGS_MODULE = myproject.test_settings
python_files = tests.py test_*.py *_tests.py
pytest -v test_db_access.py
我使用访问数据库的示例测试运行pytest,如下所示:
DJANGO_SETTINGS_MODULE = myproject.test_settings
python_files = tests.py test_*.py *_tests.py
pytest -v test_db_access.py
我得到一个错误,说:
E OperationalError: ERROR: No such database: test_database
如果我创建一个conftest.py来指向我现有的数据库,我的测试都可以正常运行
我的问题是-如何利用pytest django默认行为?除了上面显示的pytest.ini之外,我还需要什么
我希望pytest django:
- 查看pytest.ini中的设置
- 创建一个测试数据库
- 运行迁移
- 运行测试
- 删除数据库
Python 2.7
Django 1.11.12
djangorestframework
Version: 3.8.2
非常感谢您的帮助。我的项目中有什么内容。test_settings?嗨,克里斯,我已经从test_settings.py
数据库中附加了DB部分={'default':{'ENGINE':'django.db.backends.postgresql','NAME':'test_database','USER':'test USER','PASSWORD':'xxxxxxxxx','HOST':'localhost',}}
数据库={'default':{'ENGINE':'django.db.backends.postgresql','NAME':'test_database','USER':'testuser','PASSWORD':'xxxxxxxxx','HOST':'localhost',}}