我知道如何使用类似这样的方法对我的 View 进行单元测试:
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 文件中会出现拼写错误,而我的 View 测试无法捕捉到它们。
我想我可以使用 webtest 进行集成测试,但有时很难访问所有代码路径以尝试通过请求 URL 呈现我的所有模板...
有没有一种简单的方法可以测试模板本身以确保它们呈现良好?
最佳答案
集成测试似乎是确保您在实际呈现的场景中获得所需内容的最佳方式。
不过,您可以做的是填充模拟值、渲染模板,然后在生成的 View 上运行断言。
因此,对于您的“主页” View ,您将按照单元测试的预期将“page_title”填充为“测试”,并首先检查模板是否呈现,然后确保 View 的 HTML 或内容符合预期.
关于python - 如何测试 Pyramid Chameleon 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15605778/