0
需要幫助的時候想創建爲後續代碼測試:創建如何測試方法的類內
在這裏,如果你嘗試更改驗證密碼的長度,並希望兩個測試,其中通過new_password1蒙山LEN> = 5和len < 5.
#forms.py
class ValidatingPasswordChangeForm(auth.forms.PasswordChangeForm):
def clean_new_password1(self):
password1 = self.cleaned_data.get('new_password1')
if len(password1) < 5:
raise forms.ValidationError("La contraseña debe tener 5 caracteres o más.")
return password1
#url.py
url(r'^password_change/$', 'django.contrib.auth.views.password_change',
{'template_name': 'interface/change_password.html',
'password_change_form': forms.ValidatingPasswordChangeForm,
'post_change_redirect': views.success_password}, name="password_change")
這是我的測試,但不知道怎麼嘲弄密碼1和分配cumstom字以後做一個斷言。
#test
def test_len_password_true(self):
mock_password = mock.MagicMock()
mock_self = mock.MagicMock({'cleaned_data':'changos'})
with mock.patch.multiple('interface.forms.ValidatingPasswordChangeForm.clean_new_password1', password1="cosa"):
from interface.forms import ValidatingPasswordChangeForm
ValidatingPasswordChangeForm().clean_new_password1(mock_self)
#context = mock_self.call_args[0][3]
#print context