如何测试Django CreateView和form_有效性

2024-04-29 20:27:36 发布

您现在位置:Python中文网/ 问答频道 /正文

这可能是非常基本的,但是我仍然不理解如何测试一个DjangoCreateView,它有一个form_valid(self, form)方法?在

我的代码是:

class NewPatientFormView(LoginRequiredMixin, CreateView):
    model = Patient
    fields = ['name', 'surname', 'phone', 'email', 'PESEL', 'age',
          'patient_agreement']

    def form_valid(self, form):
        self.object = form.save(commit=False)
        self.object.created_by_user = self.request.user
        self.object.save()
        return super().form_valid(form)`

我使用的是pytest,我只是不明白如何测试这个。我真的很感激能举一个简短的例子来证明这一点。。。谢谢!在


Tags: 方法代码selfformmodelobjectsaveclass
1条回答
网友
1楼 · 发布于 2024-04-29 20:27:36

我相信您必须在测试的setUp中创建post数据等。在

class NewPatientFormTest(TestCase):

    def setUp(self):
        self.form_data = {
            'name': 'Billy',
            'surname': 'Masters',
            'phone': '123-358-2382',
            *...the rest of your form data...*
        }

在您的setUp中,确保其他数据设置正确。然后用你的测试-可能是这样的:

^{pr2}$

显然这是超级简化-但应该让你在正确的方向上得到测试。在

相关问题 更多 >