在 Django 中测试表单视图时指定提交按钮

43T*_*cts 3 django django-views django-tests

我正在尝试测试 django 表单视图:

测试.py

form_data = {
    'comment_text': "test comment"
}
response = self.client.post(reverse('announcements:comment', args=[self.test_announcement.id]), form_data)
self.assertEqual(response.status_code, 404)  # invalid submit button
Run Code Online (Sandbox Code Playgroud)

但我的视图会检查使用哪个按钮来提交表单:

视图.py

def my_view(request, announcement_id):
  # ...

  if request.method == "POST":
    form = CommentForm(request.POST)
    if form.is_valid():
       # ...
       if 'comment_button' in request.POST:  
           # how do I get inside this branch from a test?
           # process form
       else:
           raise Http404
Run Code Online (Sandbox Code Playgroud)

我如何模仿在测试中用于提交表单的“comment_button”?

sur*_*hvv 5

comment_button字段添加到form_data

form_data = {
    'comment_text': "test comment",  
    'comment_button': True
}
Run Code Online (Sandbox Code Playgroud)