2011-08-15 51 views
0

我知道,在Django集成中,通過確保狀態代碼是200來測試頁面是否能夠成功加載是很容易的。但是,我工作的項目有可能部分加載的頁面(頁面的某些部分將無法加載)。發現這種情況的最佳方法是什麼?有沒有辦法將這種錯誤插入到http響應中?什麼是測試Django中部分加載的網頁的最佳方法

我知道我可以對頁面上的文本執行正則表達式來檢查可能無法加載的內容,或者我可能檢查某個css類的名稱是否存在。但這似乎不是一個強有力的方法。

回答

0

這將在很大程度上取決於你的實現細節,但有兩個合適的方法來測試模板,可以幫助您:使用什麼比模板更引發

  • 如果部分頁面加載可以進行測試/語法,創建測試模板,有條件地打印一些您可以在響應中匹配的文本,如WORKEDFOO

  • 如果這件事很大程度上取決於模板接收的上下文,那麼您在測試用例旁邊定義的一次性測試視圖以及通過傳遞一個模擬請求直接調用也可以。在這種情況下,如果頁面呈現不能按預期進行,您可能依賴測試視圖來引發異常,否則一切都會順利進行。

  • 或者,你甚至可以混合兩者。在這種情況下,您將依賴視圖來生成HTTP響應,然後您將檢查一些測試文本。

如果這不起作用,您可以訴諸覆蓋模板。一般的問題是你不能依靠文本進行匹配,因爲它是全局的。該模板可能會更改,並可能導致您的測試失火。然後你可以做的是具有特定的測試設置,爲模板發現添加額外的目錄,您可以提供不同的模板實現,其中包含不會改變的文本,這對於在測試中進行匹配是合適和安全的。這種方法的困難在於它不能整齊記錄自己,而不是前兩種方法。

相關問題