Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pytest django:没有这样的数据库错误_Python_Django_Pytest Django - Fatal编程技术网

Python pytest django:没有这样的数据库错误

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

我知道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_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',}}