小编amu*_*sch的帖子

测试django表单引发了ValidationError

我正在测试我的表单会引发验证错误.

我的测试如下所示:

    def test_register_password_strength(self):
        form_params = {'first_name': 'John',
                       'last_name': 'Doe',
                       'email': 'john@doe.com',
                       'password': 'a',
                       'password_confirm': 'a',
                       'g-recaptcha-response': 'PASSED'}
        form = RegisterForm(form_params)
        self.assertFalse(form.is_valid())

        try:
            form.clean_password()
            self.fail('Validation Error should be raised')
        except ValidationError as e:
            self.assertEquals('pw_too_short', e.code)
Run Code Online (Sandbox Code Playgroud)

表格ValidationError以下列方式提出:

    password = forms.CharField(label='Password', widget=forms.PasswordInput)
    widgets = {
        'password': forms.PasswordInput(),
    }

    def clean_password(self):
        password = self.cleaned_data.get('password')

        if len(password) < 7:
            raise ValidationError('Password must be at least 7 characters long.', code='pw_too_short')

        return self.cleaned_data.get('password')
Run Code Online (Sandbox Code Playgroud)

self.assertFalse(form.is_valid())断言正确为false,但是当我尝试调用时form.clean_password(),我收到以下错误:TypeError: object of type 'NoneType' has no …

python django unit-testing

6
推荐指数
1
解决办法
1367
查看次数

标签 统计

django ×1

python ×1

unit-testing ×1