in einem Kolben unit-test, wie kann ich die mock-Objekte auf Anfrage-global `g` - Objekt?

Ich habe eine flask Anwendung, die den Aufbau einer Datenbank-Verbindung in einem before_filter sehr ähnlich diese:

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

Nun: Schreibe ich einige unit-tests und ich nicht wollen, dass Sie für die hit-Datenbank. Ich will zu ersetzen g.db mit einem mock-Objekt, dass ich einstellen kann, Erwartungen auf.

Meine tests sind mit app.test_client(), wie gezeigt, in der flask Dokumentation hier. Ein Beispiel test sieht so etwas wie

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

Den tests arbeiten und zu passieren, aber Sie sind zu schlagen, der Datenbank und als ich sagte ich will zu ersetzen, die den Zugriff auf die db mit mock-Objekten. Ich sehe keinen Weg in test_client Zugriff auf die g Objekt oder ändern Sie die before_filters.

Schreibe einen Kommentar