django - 如何修复 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
感谢您的任何帮助。
解决方案
推荐阅读
- c# - https 路由的问题
- laravel - Laravel Nova 默认仪表板中消失的卡片和指标
- mysql - 错误:在 TCPConnectWrap.afterConnect [as oncomplete] 处连接 ECONNREFUSED 185.248.177.110:3306,cpanel
- python - Python clickhouse-driver:ValueError:参数应为dict形式
- android - exo播放器闪退怎么办?
- c# - .NET 核心为 HttpClient 服务实例设置身份验证标头
- php - 从包含数组的生成器中获取密钥的最佳方法
- java - 为日历对象禁用 DST
- android-management-api - 没有 EMM 或 NFC 或摄像头的特定设备设置?
- c# - (已解决)如何强制捕获异常?(或检索异常变量)