django setzen von environment-Variablen in tests unittest

Ich möchte in der Lage sein, um das setzen von Umgebungsvariablen in meinem Django-app, die für die tests ausführen zu können. Zum Beispiel, meine Ansichten beruhen auf mehrere API-keys.

Gibt es Möglichkeiten, um override-Einstellungen während der Tests, aber ich will nicht, dass Sie definiert in settings.py wie, dass ist eine Frage der Sicherheit.

Habe ich versucht, in meinem setup-Funktion zur Einstellung dieser Umgebungsvariablen, aber das funktioniert nicht zu geben, die Django-Anwendung die Werte.

class MyTests(TestCase):
    def setUp(self):
        os.environ['TEST'] = '123'  # doesn't propogate to app

Wenn ich lokal testen, habe ich einfach ein .env Datei habe ich mit

foreman start -e .env web

liefert os.environ mit den Werten. Aber in Djangos unittest.TestCase es nicht eine Möglichkeit (die ich kenne) setzen, die.

Wie kann ich dies umgehen?

Schreibe einen Kommentar