我想测试我的WTForm
。我正在发送POST请求,我需要将表单作为参数传递。我创建了ImmutableMultiDict
的Form源,它看起来与手动测试代码时传递给方法的数据完全一样。我正在发送请求:
resp = t_client.post(url_for('my_page'), data=({"form":source}))
但是在到达终点之前,我得到了一个错误:
Traceback (most recent call last): File
"test.py",
line 69, in test
resp = t_client.post(url_for('url_for('my_page'), data=({"form":source})) File
"lib/python3.7/site-packages/werkzeug/test.py",
line 1039, in post
return self.open(*args, **kw) File "/lib/python3.7/site-packages/flask/testing.py",
line 215, in open
builder = EnvironBuilder(self.application, *args, **kwargs) File "lib/python3.7/site-packages/flask/testing.py",
line 86, in __init__
super(EnvironBuilder, self).__init__(path, base_url, *args, **kwargs) File "lib/python3.7/site-packages/werkzeug/test.py",
line 422, in __init__
self._add_file_from_data(key, value) File "lib/python3.7/site-packages/werkzeug/test.py",
line 474, in _add_file_from_data
self.files.add_file(key, **value) TypeError: add_file() got an unexpected keyword argument 'title'
title
是我来源的第一个字段。来源打印为:
ImmutableMultiDict([('title', 'New title'),...])
这就是我进一步需要的,并且在端点实现中读为:
form = request.form
正确的传递方式是什么?