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')

これの問題は、それが私のカメロンテンプレートをテストしないということです。時々、タイプミスが.ptファイルに挿入され、ビューテストでそれらが検出されないことがあります。

webtestを使用して統合テストを実行できると思いましたが、URLを要求してすべてのテンプレートをレンダリングしようとすると、すべてのコードパスをヒットするのが難しい場合があります...

テンプレート自体をテストして、正常にレンダリングされることを確認する簡単な方法はありますか?

4

1 に答える 1

2

統合テストは、実際にレンダリングされるシナリオで必要なものが得られることを確認するための最良の方法のようです。

ただし、モック値を入力し、テンプレートをレンダリングしてから、生成されたビューでアサーションを実行することができます。

したがって、「ホーム」ビューの場合は、単体テストで期待されるように「page_title」に「Test」を入力し、最初にテンプレートがレンダリングされるかどうかを確認してから、ビューのHTMLまたはコンテンツが期待どおりであることを確認します。

于 2013-04-18T21:09:18.333 に答える