python
  • django
  • testing
  • 2015-10-22 121 views 0 likes 
    0

    我想在我的tests.pyAsse田:302 = 200

    class TaskViewTests(TestCase): 
        def test_task_view_with_no_task(self): 
         """ 
         If no task exist, an appropriate message should be displayed. 
         """ 
         userName = 'esutek' 
         response = self.client.get(reverse('actuser:task',args=(userName,))) 
         self.assertEqual(response.status_code, 200) 
         self.assertContains(response, "No task are available.") 
         self.assertQuerysetEqual(response.context['taskList'], []) 
    

    但是它給了我這個錯誤信息來創建測試。 我不知道爲什麼會發生這種情況。我只是按照教程。

    actuser:任務 views.py

    def task(request, userName): 
        """ User task list in actInbox 
        """ 
    
        user = ActuserViewModel() 
        user.get_task_list(userName) 
    
        return render(request, 'actuser/task.html', { 
           'userName': userName, 
           'taskList': user.taskList, 
           'dateToday': user.dateToday, 
          }) 
    

    viewmodels.py

    def get_task_list(self, userName): 
        self.taskList = Task.objects.filter(executor = userName, parent_task_id=EMPTY_UUID).order_by('due_date') 
        #get date now with this format 05/11 
        self.dateToday = datetime.date.today() 
    

    其實我有2個網址...

    這是從項目

    url(r'^(?P<userName>[0-9a-zA-Z--]+)/', include('actuser.urls', namespace="actuser")), 
    

    ,這是一個從actuser.urls

    url(r'^task/$', views.task, name='task'), 
    
    +0

    你能後的代碼爲你的「actuser:任務」的看法? – solarissmoke

    +0

    好的...我會更新我的問題 –

    +1

    還有你的'urls.py'嗎? – solarissmoke

    回答

    3

    HTTP 302意味着你將被重定向到一些其他的URL。例如,如果您使用RedirectView(例如,如果您忘記在請求URL末尾寫入斜線並且啓用了APPEND_SLASH(在這種情況下,您獲得HTTP 301而不是302),則可以故意執行重定向。

    你到底需要一個斜槓:

    url(r'^(?P<userName>[0-9a-zA-Z-]+)/task/$', ... 
    
    +0

    啊好吧...我會嘗試... –

    +0

    我已更新我的問題...你可以檢查出來..我想這是因爲我有2個網址 –

    +0

    對不起,我的斜線思想不適用於你案件 - 你得到302,而不是301。 – alexanderlukanin13

    相關問題