2

タイトルと同じように。手動でテストできるモデルがあります。ブラウザにURLを入力すると、ビューの1つから結果が表示されます。ユニットテストはそれを行う必要があります。

リクエストを作成してアプリケーションに送信し、その代わりにコンテキストを受信する方法があるはずだと思います。

4

2 に答える 2

2

WebTestパッケージを使用して機能テストを作成できます。これにより、、などをサポートするでWSGIアプリケーションをラップできますTestApp.get().post()

後世のためにここに貼り付けられたPyramidの詳細については、 http://docs.pylonsproject.org/projects/pyramid/1.0/narr/testing.html#creating-functional-testsを参照してください。

import unittest

class FunctionalTests(unittest.TestCase):
    def setUp(self):
        from myapp import main
        app = main({})
        from webtest import TestApp
        self.testapp = TestApp(app)

    def test_root(self):
        res = self.testapp.get('/', status=200)
        self.failUnless('Pyramid' in res.body)
于 2011-04-15T22:28:25.357 に答える
1

Pyramidは、実際のリクエストをテストし、内部に関する情報を受け取るためのメソッドを実際には公開していません。以下を使用して、トラバーサーを自分で実行できます。

from pyramid.traversal import traverse

app = get_app(...)
root = get_root(app)
out = traverse(root, '/my/test/path')

context = out['context']

ただし、テストは少し工夫されています。返されたページが期待どおりかどうかをチェックする機能テストを使用する方が適切です。

于 2011-04-16T02:58:20.943 に答える