2

ビュー (BrowserViews) を介して他のアドオンとやり取りするフレームワーク的な Plone アドオンの機能テストを作成しています。

テスト目的で機能テストでのみ使用可能なビューを登録するにはどうすればよいですか? 統合ポイントをモックアップして、ビューのルックアップと呼び出しが適切に行われるかどうかを確認したいと思います。

4

2 に答える 2

2

私はこれを次のようにしました:

def setUp(self):
        self.app = self.layer['app']
        self.portal = self.layer['portal']

        # Register view directly by pushing it to zope.component multi-adapter registry

        zope.component.provideAdapter(
            # Our class
            factory=TestingRedirectHandler,
            # (context, request) layers for multiadapter lookup
            # We provide None as layers are not used
            adapts=(None, None),
            # All views are registered as IBrowserView interface
            provides=zope.publisher.interfaces.browser.IBrowserView,
            # View name
            name='redirect_handler')

        browser = Browser(self.portal)
        browser.handleErrors = False
        browser.raiseHttpErrors = False
        self.browser = browser

    def tearDown(self):
        """
        """
        # Dynamically unregister a view
        gsm = zope.component.getGlobalSiteManager()
        gsm.unregisterAdapter(factory=TestingRedirectHandler,
                              required=(None, None),
                              provided=zope.publisher.interfaces.browser.IBrowserView,
                              name="redirect_handler")
于 2013-04-14T13:53:07.700 に答える
0

テスト フォルダーがある場合は、configure.zcmlそこにファイルを作成し、そこにビューを登録できます (一貫性のために Python ファイルが存在する必要があります)。

于 2013-04-14T10:41:42.157 に答える