2014-10-09 100 views
0

這是我的代碼:Django。 TestCase的login_required

from django.test import TestCase 
from django.contrib.auth.models import User 

class BetsTest(TestCase): 
    def setUp(self): 
     user = User.objects.create_user('test', 'test', 'test') 
     user.save() 
     self.client.login(username='test', password='test') 

    def test_details(self): 
     response = self.client.post('/bets/makebet/5', {'points' : '24'}) 
     self.failUnlessEqual(response.status_code, 200) 

而我的觀點裝飾@login_required ..而且不管我在做什麼我的迴應是狀態:301 ....

回答

0

好吧,如果你發佈了一些內容,可能會將你重定向到成功頁面?這不是200碼。

設置follow=True在您的post調用,它應該工作正常。 「下注/ getreward

response = self.client.post('/bets/makebet/5', {'points' : '24'}, follow=True) 

您也可以訪問重定向如果你這樣做有response.redirect_chain

https://docs.djangoproject.com/en/dev/topics/testing/tools/

+0

號。只能重定向來自@login_required裝飾..否則,它會返回選擇render_to_response回報( .html',{'message':message},context_instance = RequestContext(request))..但有另一個消息。 – ziomagic 2014-10-09 15:17:57

相關問題