我想使用assertFormError测试字段错误。我该怎么测试呢?
在forms.py中
password = forms.RegexField(max_length=254,
error_messages={'required': _('This is required.')
'invalid': _('It is invalid)}
)
在tests.py中
form = UserForm(data=data)
self.assertContains(form['password'].errors, 'It is invalid')
这是一种可以测试它的方法。请注意,您需要调用is_valid
函数:
self.assertFalse(form.is_valid())
self.assertEqual(form.errors['password'][0], 'It is invalid')
首先,您需要调用is_valid方法,然后检查错误列表是否有特定的错误,如:
self.assertFalse(form.is_valid())
self.assertIn('password', form.errors.keys())
self.assertIn('It is invalid', form.errors['password'])