亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

'If' 語句導致單元測試失敗,但我不知道為什么

'If' 語句導致單元測試失敗,但我不知道為什么

慕雪6442864 2022-12-14 20:51:00
我有以下單元測試,但無法弄清楚為什么它會失?。ㄈ绻覄h除,測試會通過if(request.META.get('HTTP_REFERER') != request.build_absolute_uri(reverse('page1'))):),但我無法弄清楚如何在它仍然存在的情況下通過測試。文件測試.pydef test_redirects_after_POST(self):        user = User.objects.create_superuser('username')        self.client.force_login(user)        response = self.client.post(            reverse('page1'), data={            'first_name': 'testuser',            'dob': UnitTest.set_age(20)}        )        self.assertRedirects(response, reverse('page2'))我試過添加這個,但它沒有幫助:referer = 'http://testserver{}'.format(reverse('page1'))# Also tried: referer = 'http://testserver{}'.format(reverse('page2'))        response = self.client.post(            reverse('page1'), data={            'first_name': 'testuser',            'dob': UnitTest.set_age(20)}            , HTTP_REFERER=referer)文件views.py@login_required@allowed_users(allowed_roles=['admin', 'registered_user'])def page1(request):    if request.method == 'POST':        form = Page1Form(request.POST, request.FILES, instance=request.user.page1)        if form.is_valid():            form.save()            return redirect('page2')    else:        form = Page1Form(instance=request.user.page1)    context = {        'form' : form,    }    return render(request, 'website/page1.html', context)@login_required@allowed_users(allowed_roles=['admin', 'registered_user'])def page2(request):    if request.method == 'POST':        form = Page2Form(request.POST, request.FILES, instance=request.user.page2)        if form.is_valid():            form.save()            return redirect('page3')    else:        # redirect if user didnt access the page from page1        if(request.META.get('HTTP_REFERER') != request.build_absolute_uri(reverse('page1'))):            return redirect('page1')        else:            form = Page2Form(instance=request.user.page2)    context = {        'form' : form    }
查看完整描述

1 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

您的請求成功了,但您的測試失敗了,因為您編寫了錯誤的期望

如果您的請求使用了 follow 參數,則 expected_url 和 target_status_code 將是重定向鏈終點的 url 和狀態代碼。

然而,您的請求沒有將 follow 設置為 true,因為它默認為 false。


查看完整回答
反對 回復 2022-12-14
  • 1 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號