dans un Flacon de test unitaire, comment les objets fantaisie sur la demande globale de l' `g` objet?

J'ai un flacon d'application qui est la configuration d'une connexion de base de données dans un before_filter, très semblable à cette:

@app.before_request
def before_request():
    g.db = connect_db()

Maintenant: je suis en train d'écrire unitaires-tests et je ne pas voulez frapper la base de données. Je veux remplacer g.db avec un simulacre de l'objet que je peux définir les attentes.

Mes tests, sont à l'aide de app.test_client(), comme il est démontré dans le flacon de la documentation ici. Un exemple de test ressemble à quelque chose comme

def test(self):
    response = app.test_client().post('/endpoint', data={..})
    self.assertEqual(response.status_code, 200)
    ...

Les tests de travail et de passage, mais ils sont frapper la base de données et comme je l'ai dit je veux remplacer db accès avec des objets fantaisie. Je ne vois pas de toute façon test_client pour accéder à la g objet ou de modifier le before_filters.

OriginalL'auteur Gabe Moothart | 2013-01-03