Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to solve PytestConfigWarning: Unknown config option: DJANGO_ SETTINGS_MODULE error?

I am using django to build my website and I have used django-pytest to test my apps but I have got this error Note I am usign 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.html

This is my pytest.ini file content

# -- FILE: pytest.ini (or tox.ini)
[pytest]
DJANGO_SETTINGS_MODULE = testing_settings
# -- recommended but optional:
python_files = tests.py test_*.py *_tests.py

and I run this command

pytest

and this is my venv packages

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.2
like image 273
Dhia' Alhaq Shalabi Avatar asked Dec 02 '25 07:12

Dhia' Alhaq Shalabi


2 Answers

The accepted answer it's not answering OP question neither providing solution.

I have encountered the same problem, I'm using Django 4.0 and Pytest 7.2.1

I'm using pytest.ini as configuration file.

Solution:

[tool:pytest]
DJANGO_SETTINGS_MODULE = core.settings.local
python_files = test_*.py

Adding keyword tool solves the problem.

Another thing that might be necessary is adding ENV variable:

export DJANGO_SETTINGS_MODULE=mysite.settings 
like image 190
Jack Daniels Avatar answered Dec 04 '25 19:12

Jack Daniels


I found out what was the reason for my problem. I just uninstall

django-pytest 0.2.0

and install

pytest-django

instead by running the following command

pip install pytest-django

and run the following command after pip installed pytest-django

set DJANGO_SETTINGS_MODULE=testing.settings

And everything just works fine.

like image 43
Dhia' Alhaq Shalabi Avatar answered Dec 04 '25 21:12

Dhia' Alhaq Shalabi