首页 > 解决方案 > 如何修复 AssertionError 200!=302

问题描述

我有一个注册视图,可以注册新用户,将他们登录,然后将他们重定向到主页。当我使用 unittest 测试这个视图时,我得到一个 AssertionError 200!=302

视图.py:

def register(request):

    if request.method =='POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
          user=form.save()
          username = request.POST.get('username')
          password = request.POST.get('password1')

          login(request, user)
          return redirect(reverse('home:home'))
    else:
        form = RegistrationForm()
    args = {'form': form}
    return render(request, 'accounts/reg_form.html', args)

test_views.py:

class TestViews(TestCase):

    def setUp(self):
        self.client = Client()
        self.burial=User.objects.create_user(
            username='burial',
            password='secret'
            )


    def test_registration_view(self):

        url = reverse('accounts:register')
        response = self.client.post(url, {
                'username': self.burial.username,
                'password': self.burial.password

                })

        self.client.login(username=self.burial.username, 
password=self.burial.password)
        self.assertEquals(self.burial.username, 'burial')
        self.assertEquals(response.status_code, 302)

我收到 AssertionError 200!=302

感谢您的任何帮助。

标签: djangounit-testingpython-unittest

解决方案


推荐阅读