我正在尝试了解如何使用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文档中的示例代码?
答案 0 :(得分:0)
在WSGI中,正文必须是可迭代的字节:
body = b'foobar'