diff --git a/tests/test_initialization.py b/tests/test_initialization.py index 631a41ed..9c2f99f7 100644 --- a/tests/test_initialization.py +++ b/tests/test_initialization.py @@ -1,4 +1,5 @@ from textwrap import dedent +import pytest from .helpers import DjangoPytester @@ -60,3 +61,32 @@ def test_ds(): ] ) assert result.ret == 0 + + +def test_django_setup_dependency_load(pytester: pytest.Pytester, django_pytester: DjangoPytester, monkeypatch: pytest.MonkeyPatch) -> None: + monkeypatch.setenv("DJANGO_SETTINGS_MODULE", "tpkg.settings_dev") + pkg = pytester.joinpath("tpkg") + pkg.joinpath("settings_dev.py").write_text( + dedent( + """ + SOME_VARIABLE = "real" + """ + ) + ) + pkg.joinpath("settings_test.py").write_text( + dedent( + """ + SOME_VARIABLE = "fake" + """ + ) + ) + pkg.joinpath("settings_test.py").write_text( + dedent( + """ + def test_ds(settings): + assert settings.SOME_VARIABLE == "fake" + """ + ) + ) + result = django_pytester.runpytest_subprocess("-s", "-ds", "tpkg.settings_test") + assert result.ret == 0 diff --git a/tox.ini b/tox.ini index 5ffeeead..1d238bcc 100644 --- a/tox.ini +++ b/tox.ini @@ -37,7 +37,7 @@ passenv = PYTEST_ADDOPTS,TERM,TEST_DB_USER,TEST_DB_PASSWORD,TEST_DB_HOST usedevelop = True commands = coverage: coverage erase - {env:PYTESTDJANGO_TEST_RUNNER:pytest} {posargs:tests} + {env:PYTESTDJANGO_TEST_RUNNER:pytest} {posargs:tests} tests/test_initialization.py coverage: coverage combine coverage: coverage report coverage: coverage xml