2012-07-27 48 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