小编典典

我应该如何在Django中编写针对Forms的测试?

python

在编写测试时,我想在Django中模拟对视图的请求。这主要是为了测试表格。这是一个简单的测试请求的片段:

from django.tests import TestCase

class MyTests(TestCase):
    def test_forms(self):
        response = self.client.post("/my/form/", {'something':'something'})
        self.assertEqual(response.status_code, 200) # we get our page back with an error

无论是否存在表单错误,页面始终返回200的响应。如何检查我的表格是否失败以及特定字段(soemthing)是否存在错误?


阅读 159

收藏
2021-01-20

共1个答案

小编典典

我认为,如果您只想测试表单,则应该只测试表单,而不是测试呈现表单的视图。举例说明:

from django.test import TestCase
from myapp.forms import MyForm

class MyTests(TestCase):
    def test_forms(self):
        form_data = {'something': 'something'}
        form = MyForm(data=form_data)
        self.assertTrue(form.is_valid())
        ... # other tests relating forms, for example checking the form data
2021-01-20