Maison >base de données >tutoriel mysql >Comment corriger « RuntimeError : travail en dehors du contexte de l'application » dans les tests Flask ?
RuntimeError : Operating Outside Application Context
Dans Flask, chaque requête génère un contexte d'application qui sert de contexte pour diverses opérations. Lors du test des applications Flask, il est courant de rencontrer une erreur « RuntimeError : travailler en dehors du contexte de l'application ». Cela se produit lorsqu'une opération est tentée en dehors de ce contexte défini.
Pour résoudre ce problème, vous devez créer explicitement le contexte de requête dans vos tests unitaires. En incorporant app.app_context() dans votre test, vous établissez le contexte nécessaire pour exécuter des opérations telles que les connexions à une base de données ou le rendu de modèles :
def test_connection1(self): with app.app_context(): object = TestMySQL() object.before_request()
En encapsulant le code de test dans le contexte de l'application, vous vous assurez que les opérations sont effectué dans le contexte correct et éviter l’erreur d’exécution. De plus, vous pouvez utiliser app.test_client() pour créer des clients de test qui intègrent le contexte de l'application et émulent les effets d'une requête typique sans avoir besoin d'une requête HTTP réelle.
client = app.test_client() response = client.get('/') assert response.status_code == 200
En résumé, à éviter l'erreur « RuntimeError : travailler en dehors du contexte de l'application » et testez avec succès les applications Flask, utilisez app.app_context() ou app.test_client() pour établir le contexte requis pour les opérations spécifiques à la requête.
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!