2017-05-08 64 views
3

我有以下的單元測試如何正確測試django UpdateView?

def test_category_update_view(self): 
    """ 
    Make sure that a category can be updated 
    :return: 
    """ 
    self.log_user_1_in() 

    self.assertEqual('Bacon', self.category.name) 

    res = self.client.put(
     reverse(
      'calendars:categories:edit_category', 
      kwargs={'calendar_pk': self.calendar.id, 'pk': self.category.id} 
     ), 
     urlencode({'name': 'bacon is yummy'}) 
    ) 

    self.assertEqual('bacon is yummy', self.category.name) 

    self.assertEqual(302, res.status_code) 
    self.assertEqual(
     reverse('calendars:categories:category_list', kwargs={'calendar_pk': self.calendar.id}), 
     res.url 
    ) 

enter image description here

正如你可以看到它說的形式是無效的,所以我的問題是爲什麼會失效?測試客戶不應該使用我提供的數據嗎?我以同樣的方式完成的POST請求工作正常,並傳遞正確的數據。

我還沒有發佈過,所以請原諒我,如果這是一種模糊。如果您需要更多信息來幫助我,請告訴我。

回答

0

你不應該使用self.client.post,而不是self.client.put?