2013-03-25 64 views
3

我知道用這樣的事情如何單元測試我的觀點:如何測試金字塔變色龍模板?

class ViewsTests(unittest.TestCase): 

    def setUp(self): 
     request = DummyRequest() 
     self.config = setUp(request=request) 

    def tearUp(self): 
     tearUp() 

    def test_home(self): 
     request = DummyRequest() 
     inst = MyView(request) 
     result = inst.View1() 
     self.assertEqual(result['page_title'], 'Test') 

這裏的問題是,它不會測試我Chamelon模板。有時,拼寫錯誤在.pt文件中,我的視圖測試不會捕獲它們。

我想我可以使用WebTest的做一個集成測試,但有時很難打所有的代碼路徑,試圖通過請求的URL來顯示我的所有模板...

有一個簡單的方法,我可以測試模板本身,以確保他們渲染罰款?

回答

2

集成測試似乎是最好的方法,以確保您在實際呈現的場景中獲得所需的內容。

你可以做的是填充模擬值,渲染模板,然後在生成的視圖上運行斷言。

因此,對於您的「家庭」視圖,您可以按照單元測試所預期的方式填寫'page_title'和'Test',並首先檢查模板是否呈現,然後確保HTML或視圖的內容是預期。

+0

是的,這就是我最終做的......這是一個相當多的工作,但它是值得的。謝謝 :) – Matt234 2013-04-19 21:14:50