单元测试包含多个提交按钮的Django表单

Sin*_*dex 5 forms django unit-testing

我正在为一个页面编写单元测试,该页面使用几个Submit按钮来控制通过我的Django应用程序的逻辑流程.

不幸的是,我无法弄清楚如何获得响应以返回单元测试框架中的提交值.发布的Django单元测试文档表明其形式如下:

post(path, data={}, content_type=MULTIPART_CONTENT, follow=False, **extra)
Run Code Online (Sandbox Code Playgroud)

如果是表单的删除按钮:

<input type="submit" name="delete" value="Delete" />
Run Code Online (Sandbox Code Playgroud)

我已经尝试将Delete值作为数据放置,即:

response = self.client.post(url, {'name':'delete'}, follow=True)
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.我需要有名称值才能运行它们触发的代码路径.在视图中,逻辑采用以下形式:

if 'delete' in request.POST:
    <do something>
Run Code Online (Sandbox Code Playgroud)

我假设我以某种方式使用**以获得这些值,但我也没有太多运气.

有什么建议?

Dan*_*man 6

数据字典应将输入名称映射到值.在您的情况下,名称是delete,值是Delete.所以字典应该是:

{'delete': 'Delete'}
Run Code Online (Sandbox Code Playgroud)