Testen von code, der benötigt ein Kolben app oder Anfrage-Kontext
Ich bin immer working outside of request context
beim Zugriff session
im test. Wie kann ich einen Zusammenhang, wenn ich etwas testen, das erfordert eine?
import unittest
from flask import Flask, session
app = Flask(__name__)
@app.route('/')
def hello_world():
t = Test()
hello = t.hello()
return hello
class Test:
def hello(self):
session['h'] = 'hello'
return session['h']
class MyUnitTest(unittest.TestCase):
def test_unit(self):
t = tests.Test()
t.hello()
InformationsquelleAutor Cory | 2013-06-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, eine Anfrage zu stellen, um Ihre Anwendung, verwenden Sie die
test_client
.Wenn Sie wollen, um test-code, die mit einem Anwendungs-Kontext (
current_app
,g
,url_for
), drücken Sie eineapp_context
.Wenn Sie möchten test-code, der verwendet ein request-Kontext (
request
,session
) aus, drücken Sietest_request_context
.App-und Anfrage-Kontexte können auch geschoben werden manuell, was nützlich ist, wenn Sie den interpreter.
Kolben-Skript oder die neuen Kolben-cli automatisch eine push-app-Kontext bei der Ausführung der
shell
Befehl.Kolben-Testing
ist eine nützliche Bibliothek, die enthält Hilfsprogramme zum testen Kolben-apps.app_app.test_request_context():
und habe gearbeitet.Tolle Zusammenfassung der verschiedenen Kontexte, (test, Applikation, Anfrage).
InformationsquelleAutor tbicr