2013-03-25 63 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