2012-07-27 54 views
1

我知道这是一个学习的东西,而不是编程中的问题,但我仍然需要问它。请不要投下它,如果我知道我不会在这里问它任何其他适当的place.I有一个观点如下:Django:测试的一般帮助

def takedown(request,aid): 
    approveobj = get_object_or_404(approve,pk=aid) 

    # fetching mapping 
    map = mapping.objects.get(appval=approveobj) 

    try: 
     # deleting option from main database 
     map.optval.delete() 

     # changing the status of the appval 
     map.appval.status = 'Pending' 
     map.appval.save() 

     # finally deleting the map 
     map.delete() 

    except: 
     print("Error in taking down the entry") 

    redirect_url = "/wars/configure/"+str(map.appval.warval.id)+"/" 
    return HttpResponseRedirect(redirect_url) 

我想设计目前我正在检查是否重定向到相应的URL或not.What事我可以测试上述view.At一些测试?我需要彻底测试它。在你看来

回答

1

看,我可以看到其他三种可能的测试:

  • 测试,该视图返回状态代码404的aid不存在
  • 检查地图对象在数据库中存在。在您的测试中获取视图,然后检查地图对象是否已按预期删除。
  • 测试您的视图如预期的那样在try除了块中有异常时运行。目前尚不清楚你期望在这里出错。请注意,因为您只打印错误,所以用户不会显示任何内容,因此测试此操作非常棘手。
+0

非常感谢你,我现在应该开始写一些测试:) – 2012-07-27 09:35:14

+0

还有一件事。如何在我的测试中加载视图? – 2012-07-27 09:36:53

+0

使用'self.client.get'(或'self.client.POST',如果你要发布数据到网址)。有[文档中的示例](https://docs.djangoproject.com/en/dev/topics/testing/#example)。 – Alasdair 2012-07-27 09:39:07