J'essaie d'écrire des tests unitaires pour une application Flask en utilisant pytest. J'ai une usine d'application:Générer des URL pour le client de test Flask
def create_app():
from flask import Flask
app = Flask(__name__)
app.config.from_object('config')
import os
app.secret_key = os.urandom(24)
from models import db
db.init_app(app)
return app
Et une classe de test:
class TestViews(object):
@classmethod
def setup_class(cls):
cls.app = create_app()
cls.app.testing = True
cls.client = cls.app.test_client()
@classmethod
def teardown_class(cls):
cls.app_context.pop()
def test_create_user(self):
"""
Tests the creation of a new user.
"""
view = TestViews.client.get(url_for('create_users')).status_code == 200
mais quand je lance mes tests, je reçois l'erreur suivante:
RuntimeError: Attempted to generate a URL without the application context being pushed. This has to be executed when application context is available.
googler cela me dit (je pense) que l'utilisation du client de test devrait créer un contexte d'application automatique. Qu'est-ce que je rate?