testing - How to access views defined with a specific [plone.]browserlayer in test cases -
i'm new testing , i'm trying create test plone product first time. i'm on plone 3.3.
the basic test suite works, can execute without errors. followed documentation : http://plone.org/documentation/kb/testing ...except i'm writing tests in python classes instead of doctests.
my problem cannot seem access views defined in app (i componentlookuperror).
the problem seems "browserlayer" defined applications. when remove layer="..." attribute configure.zcml, test can access views without problem. however, if add back, doesn't work. guess that's because de browserlayer interface doesn't applied request.
the reference problem found in tests googlesitemap : http://dev.plone.org/collective/browser/googlesitemap/googlesitemap.common/trunk/googlesitemap/common/tests?rev=
the author seems have made custom zcml file test, in layer="..." attribute has been removed. (which work seems bad having maintain separate zcml file tests)
in test, have included following (taken googlesitemap tests), passes :
from jambette.site.interfaces import ijambettelayer # browserlayer plone.browserlayer.utils import registered_layers self.asserttrue(ijambettelayer in registered_layers()) so think skin , browserlayer registered correctly.
is there need browserlayer applied request?
browser layer interfaces 'painted' onto request directlyprovides. in test setup before view:
from zope import interface jambette.site.interfaces import ijambettelayer ... directlyprovides(request, ijambettelayer)
Comments
Post a Comment