RuntimeError: Arbeiten außerhalb des Anwendungskontexts
Beim Versuch, die Funktionen before_request und input_info aus dem app.py-Modul im Test zu testen. py ist ein RuntimeError aufgetreten, der darauf hinweist, dass die Funktionen außerhalb des Anwendungskontexts aufgerufen werden.
Um dieses Problem zu beheben, muss der Kontextmanager app.app_context() verwendet werden, um einen Testanwendungskontext innerhalb des zu erstellen Unit-Tests. Dieser Kontextmanager bietet die notwendige Umgebung für die korrekte Ausführung der Funktionen before_request und input_info.
Hier ist ein Beispiel für die Verwendung des Kontextmanagers app.app_context() im Komponententest:
from app import * class Test(unittest.TestCase): def test_connection1(self): with app.app_context(): object = TestMySQL() object.before_request() # Should no longer throw a RuntimeError
In diesem Test umschließt der Kontextmanager app.app_context() den Aufruf der Funktion before_request, erstellt den erforderlichen Testanwendungskontext und löst den RuntimeError.
Das obige ist der detaillierte Inhalt vonWie behebe ich „RuntimeError: Arbeiten außerhalb des Anwendungskontexts“ beim Unit-Testen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!