我有表格:
class EntryForm(CsrfDissableForm):
id = HiddenField()
name = StringField(...)
...
class FooForm(FlaskForm):
entries = FieldList(FormField(EntryForm))
new_name = StringField(...)
...
路线:
...
while len(form.entries) > 0:
form_entry = form.entries.pop_entry()
save_changes(form_entry)
new_inst = form.new_name.data
save_new(new_inst)
...
我写了一些测试(使用了Flask-Test)。我将'new_name'从发布数据保存到数据库,然后将其编辑为'name'(条目形式):
def test_change_name(self):
with self.client:
self.client.post(url, data={'new_name': 'Foo'})
foo = db.get_last_foo()
self.assertEqual(foo.name, 'Foo')
self.client.post(url, data={'entries': [{'id': foo.id, name: 'foo1'}]})
foo = db.get_by_id(foo.id)
self.assertEqual(foo.name, 'Foo')
我在这个测试中遇到错误:
TypeError: add_file() got an unexpected keyword argument 'id'.
如何正确测试表单字段列表中的请求? 路上我可以错吗?