如何运行WebTest示例?

时间:2017-07-22 16:10:01

标签: python python-3.x webtest

我正在尝试了解如何使用WebTest进行集成测试,而我仍然坚持第一个例子。

我试图按照说明操作。首先,我创建了一个包含我要测试的代码的模块:

# 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]

然后我创建了一个测试运行器文件:

# 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

当我执行test.py时,出现以下错误:

AssertionError:Iterator返回了一个非对象:'foobar'。

我需要做什么才能运行WebTest文档中的示例代码?

1 个答案:

答案 0 :(得分:0)

在WSGI中,正文必须是可迭代的字节:

body = b'foobar'