【问题标题】:Unit Testing a Django Form Containing Multiple Submit Buttons对包含多个提交按钮的 Django 表单进行单元测试
【发布时间】:2010-11-18 17:52:08
【问题描述】:

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

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

post(path, data={}, content_type=MULTIPART_CONTENT, follow=False, **extra)

如果是表单的删除按钮:

<input type="submit" name="delete" value="Delete" />

我尝试将 Delete 值作为数据放入,即:

response = self.client.post(url, {'name':'delete'}, follow=True)

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

if 'delete' in request.POST:
    <do something>

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

有什么建议吗?

【问题讨论】:

    标签: django unit-testing forms


    【解决方案1】:

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

    {'delete': 'Delete'}
    

    【讨论】:

    • 修复了它。非常感谢。
    猜你喜欢
    • 2020-11-13
    • 1970-01-01
    • 2015-10-04
    • 2019-03-19
    • 2015-03-07
    • 2015-11-24
    • 2017-05-03
    • 1970-01-01
    • 2011-01-10
    相关资源
    最近更新 更多