2013-04-14 34 views
2

我創造了frameworkish的Plone插件與通過視圖其他插件(BrowserViews)交互功能測試是可用的。如何註冊視圖僅在功能測試

一個可以如何註冊一個視圖其中僅用於測試目的的功能測試可用?我想模擬整合點,看看它是否可以提供良好的視圖查找和調用。

回答

0

如果你有一個測試文件夾,你可以在那裏創建一個configure.zcml文件並在那裏註冊一個視圖(python文件應該在那裏以保持一致性),應該是這樣。

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