2017-07-22 5 views
0

Ich versuche zu verstehen, wie man WebTest verwendet, um Integrationstests zu machen, und ich bin auf dem ersten Beispiel fest.So führen Sie WebTest-Beispiel aus?

Ich habe versucht, den Anweisungen zu folgen. Zuerst habe ich ein Modul, das den Code enthält ich testen wollen:

# functions.py 
def application(environ, start_response): 
    """docstring for application""" 
    # I added body, otherwise you get an undefined variable error 
    body = 'foobar' 
    headers = [('Content-Type', 'text/html; charset=utf8'), 
       ('Content-Length', str(len(body)))] 
    start_response('200 OK', headers) 
    return [body] 

Dann habe ich einen Test-Runner-Datei:

# test.py 
from webtest import TestApp 
from functions import application 

app = TestApp(application) 
resp = app.get('/') 
assert resp.status == '200 OK' 
assert resp.status_int == 200 

Wenn ich test.py ausführen, bekomme ich folgende Fehlermeldung:

AssertionError: Iterator hat ein Nicht-Objekt zurückgegeben: 'foobar'.

Was muss ich tun, um diesen Beispielcode aus der WebTest-Dokumentation auszuführen?

Antwort

0

In WSGI der Körper muss eine iterable von Bytes sein:

body = b'foobar' 
+0

Ohhhh. Vielen Dank! – William