Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens une « RuntimeError : travail en dehors du contexte de l'application » dans mes tests unitaires Flask ?
RuntimeError : Travailler en dehors du contexte de l'application
Dans l'application Flask donnée, une tentative d'appel de la fonction before_request dans un test unitaire (test .py) entraîne une « RuntimeError : fonctionnement en dehors du contexte de l'application ». La même erreur se produit lors de l'appel de la fonction input_info.
Contexte :
Flask gère un contexte d'application global qui donne accès à des services tels que la connexion à la base de données. Pour fonctionner dans le contexte, le code doit être exécuté dans le cycle requête-réponse de l'application.
Solution :
Pour résoudre l'erreur, les tests unitaires doivent établir un Contexte applicatif. Ceci peut être réalisé en utilisant app.app_context() comme gestionnaire de contexte :
def test_connection(self): with app.app_context(): # Test code here using `g.db`
Solution alternative :
Au lieu de gérer manuellement le contexte d'application, vous pouvez utiliser l'extension Flask-Testing, qui configure automatiquement le contexte des tests unitaires.
Supplémentaire Considérations :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!