我有一个像这样的简单 django 表单:
class ContactForm(forms.Form):
subject = forms.CharField(max_length=100)
message = forms.CharField(widget=forms.Textarea)
我的观点是这样使用它的:
def my_view(request):
form = ContactForm(request.POST)
if form.is_valid():
data = form.cleaned_data
...
我想测试我的观点,而不关心表单的实际作用。这是我的测试到目前为止的样子
@patch.object(ContactForm, 'is_valid')
def test_my_view(mock_is_valid):
is_valid.return_value = True
...
assert response.status_code == 201
但是,这不起作用,因为form.cleaned_data
直到form.is_valid()
被调用才设置。form.cleaned_data
如果属性一开始不存在,我该如何模拟它?