Ich habe kürzlich eine wiederverwendbare App innerhalb des Django-Projekts, an dem ich arbeite, implementiert. Für die Frage, nennen wir es reusable_app
. Diese App hat auch einige Unittests, die ausgeführt werden, jedoch hängen diese Tests von einigen Basismodellen ab, die irgendwo neben den Tests in einer model.py
deklariert sind.Django Single-Test-Migration
/resuable_app
__init__.py
models.py
views.py
urls.py
/tests
__init__.py
tests.py
/simple_app
__init__.py
models.py
Nun werden die Modelle sind nicht in die Datenbank geladen, wenn ich den Ordner, in INSTALLED_APPS
in der Testkonfigurationsdatei angeben. Ich habe mich gefragt, ob es eine andere Möglichkeit gibt, dies zu erreichen, und die App nicht in der Einstellungsdatei verfügbar machen muss? Ich scheine in der Lage zu sein, die App über @override_settings
anzugeben, aber die Migrationen werden nicht ausgeführt.
Ex:
@override_settings(INSTALLED_APPS=['reusable_app'])
class TestReusableApp(TestCase):
def test_something(self):
...
Wenn reusable_app
nicht im Einstellungsmodul INSTALLED_APPS
angegeben ergibt dies immer noch ein ProgrammingError
. Fehle ich etwas oder gibt es einen anderen Ansatz?