2017-09-27 5 views
1

vielleicht ist diese Frage hier nicht relevant. Gib mir Bescheid.Wie funktioniert ein Test-Client

Ich versuche, herauszufinden, wie genau ein test_client (mein Fall ist ein Flasktest_client) in Gesamtbetriebsrat

ich zurück zum werkzeug.test.Clientdescription verfolgt (für meinen Fall, speziell)

"This class allows to send requests to a wrapped application." 

Aber was passiert unter der Haube? die Anwendung führt nicht wirklich einen Port?

Antwort

2

Flask implementiert das WSGI-Anwendungsprotokoll. Alles, was es braucht, um eine Anfrage zu bearbeiten, ist ein environ dict, das die Anfragedaten beschreibt, und es gibt ein Response Objekt zurück. Es ist egal wo die Umgebung stammt oder wo die Antwort geht, die von dem WSGI-Serverprotokoll behandelt wird. Der Werkzeug-Dev-Server und Produktionsserver wie Gunicorn erledigen diesen Teil.

Der Werkzeug-Test-Client simuliert den Server: Statt als Antwort auf eine HTTP-Anfrage eine environ zu produzieren, erzeugt er eine als Antwort auf einen Funktionsaufruf. Wenn Sie client.get aufrufen, erstellt der Client ein WSGI environ-dict basierend auf den übergebenen Argumenten, ruft die Flask WSGI-Anwendung auf und gibt dann die Antwort an Sie zurück.

Verwandte Themen