Estoy usando django para construir mi sitio web y he usado django-pytest para probar mis aplicaciones, pero tengo este error Nota: estoy usando python 3.9
================================================================== warnings summary =================================================================== ..\venv\lib\site-packages\_pytest\config\__init__.py:1233 c:\users\eng_diaa_shalaby\desktop\unittest\venv\lib\site-packages\_pytest\config\__init__.py:1233: PytestConfigWarning: Unknown config option: DJANGO_ SETTINGS_MODULE self._warn_or_fail_if_strict(f"Unknown config option: {key}\n") -- Docs: https://docs.pytest.org/en/stable/warnings.htmlEste es el contenido de mi archivo pytest.ini
# -- FILE: pytest.ini (or tox.ini) [pytest] DJANGO_SETTINGS_MODULE = testing_settings # -- recommended but optional: python_files = tests.py test_*.py *_tests.pyy ejecuto este comando
pytesty estos son mis paquetes venv
Package Version ------------- ------- asgiref 3.3.4 atomicwrites 1.4.0 attrs 21.2.0 colorama 0.4.4 coverage 5.5 Django 3.2.4 django-pytest 0.2.0 iniconfig 1.1.1 packaging 20.9 pip 21.1.2 pluggy 0.13.1 py 1.10.0 pyparsing 2.4.7 pytest 6.2.4 pytz 2021.1 setuptools 57.0.0 sqlparse 0.4.1 toml 0.10.2Fondo cuál fue la razón de mi problema. acabo de desinstalar
django-pytest 0.2.0
e instalar
pytest-django
en su lugar ejecutando el siguiente comando
pip install pytest-djangoy ejecute el siguiente comando después de que pip haya sido instalado pytest-django
set DJANGO_SETTINGS_MODULE=testing.settingsY todo funciona bien.
Debe corregir su archivo pytest.ini eliminando los espacios alrededor de = :
[pytest] DJANGO_SETTINGS_MODULE=your_project_name.settings Nota: según la estructura de Django, su proyecto debe tener una subcarpeta con el archivo settings.py en ella. Debe apuntar pytest a este archivo y usar dot . en lugar de / .
La advertencia
PytestConfigWarning: Unknown config option: some-name significa que pytest o cualquiera de los complementos de pytest instalados actualmente no conocen la opción de configuración some-name (justo lo que implica la advertencia). En particular, aquí significa que pytest-django no está instalado o no es visible para pytest por algún motivo (por ejemplo, instaló pytest-django usando el comando pip incorrecto).
Para solucionar problemas, primero enumere todos los complementos instalados que pytest encuentra usando pytest -VV :
$ pytest -VV This is pytest version 6.2.5, imported from /private/tmp/so/lib/python3.9/site-packages/pytest/__init__.py setuptools registered plugins: pytest-django-4.5.2 at /private/tmp/so/lib/python3.9/site-packages/pytest_django/plugin.py pytest-cov-3.0.0 at /private/tmp/so/lib/python3.9/site-packages/pytest_cov/plugin.py Aquí, pytest informa que se encontraron dos complementos: pytest-cov y pytest-django .
Ahora, si pytest-django no aparece en la lista, verifique dónde se instaló, por ejemplo, emitiendo pip show pytest-django y buscando la ruta en Location :
$ pip show pytest-django ... Location: /private/tmp/so/lib/python3.9/site-packages O, si pip no está disponible para usted, compruebe de dónde Python importa el paquete pytest_django a través de
$ python -c 'import pytest_django; print(pytest_django.__path__[0])' /private/tmp/so/lib/python3.9/site-packages/pytest_django Las rutas al directorio site-packages en ambas salidas deben coincidir. En este ejemplo, tanto pytest -VV como pip show pytest-django report /private/tmp/so/lib/python3.9/site-packages como ruta de instalación. Si difieren, reinstale pytest-django utilizando el entorno de Python correcto.