我试图在django中测试我的登录表单。不幸的是,在每个单独的测试用例中,form.is_valid返回False,它应该返回True。该表单是内置AuthenticationForm的略微更改版本。在以多种方式检查后,我意识到问题在于验证表单的一部分。无论我提供什么,它总是返回None。修改过的测试用例代码:
from django.contrib.auth import authenticate
from django.contrib.auth.models import User
from django.test import TestCase
from ..forms import MyAuthenticationForm
class MyAuthenticationFormTest(TestCase):
def test_MyAuthenticationForm_valid(self):
User = User.objects.create(username='maciek', password='Trusty20', email='admin@mail.com')
form = MyAuthenticationForm(data={'username':'maciek', 'password':'Trusty20'})
maciek = authenticate(username='maciek', password='Trusty20')
self.assertEqual(maciek, True)
返回的错误是AssertionError:None!= True
我尝试过的是添加' django.contrib.auth.backends.ModelBackend'进入身份验证后端设置。