2017-05-08 54 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?