我想在Django配置文件應用程序中爲視圖編寫一些測試。在Django個人檔案應用中測試視圖的最佳做法?
視圖有一些聰明的錯誤處理邏輯。例如如果我們嘗試創建一個配置文件,但配置文件已經存在,那麼只需重定向到現有的配置文件頁面(或者可能到編輯配置文件頁面)。
我該如何測試這種錯誤處理是否符合要求? 什麼是最佳做法?
一個想法是使用Zombie.js做BDD,並測試我看到的標題不是「創建配置文件」(或者檢查我看到的標題是「編輯配置文件」的頁面)的頁面。但是Django的測試文檔說:
- 使用Django的測試客戶端來建立正確的觀點正在被 調用,該視圖正在收集正確的上下文數據。
- 使用瀏覽器內框架(如Twill和Selenium)來測試HTML和HTML頁面的行爲,即JavaScript功能。
但是,如果我想使用Django的測試客戶端,它可以做到以下幾點:
- 模擬GET和一個URL POST請求並觀察響應 - 從低層次的HTTP (結果標題和狀態代碼)到頁面內容。
- 測試是否爲給定的URL執行了正確的視圖。
- 測試給定的請求是由給定的Django模板呈現的,其中包含特定值的模板上下文。
我應該使用測試客戶端,然後看看頁面內容嗎?我應該看看模板被渲染了嗎?測試此視圖的適當方法是什麼?
我可以在Django測試代碼之外使用assertRedirects嗎?我正在編寫使用生菜(http://lettuce.it)的測試用例,因爲它可以更容易地指定許多測試,但我認爲我不在Django TestCase對象內。 –