Maison > base de données > tutoriel mysql > Comment résoudre « RuntimeError : travail en dehors du contexte de l'application » dans les tests unitaires ?

Comment résoudre « RuntimeError : travail en dehors du contexte de l'application » dans les tests unitaires ?

DDD
Libérer: 2024-11-16 16:47:03
original
567 Les gens l'ont consulté

How to Resolve

RuntimeError : travail en dehors du contexte de l'application

Lors de la tentative de test unitaire des fonctions before_request et input_info du module app.py en test. py, une RuntimeError est rencontrée, indiquant que les fonctions sont appelées en dehors du contexte de l'application.

Pour résoudre ce problème, le gestionnaire de contexte app.app_context() doit être utilisé pour créer un contexte d'application de test dans le tests unitaires. Ce gestionnaire de contexte fournit l'environnement nécessaire pour que les fonctions before_request et input_info s'exécutent correctement.

Voici un exemple d'utilisation du gestionnaire de contexte app.app_context() dans le test unitaire :

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
Copier après la connexion

Dans ce test, le gestionnaire de contexte app.app_context() encapsule l'appel à la fonction before_request, créant le contexte d'application de test nécessaire et résolvant l'erreur RuntimeError.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal