[Zope-CMF] Testing skin scripts and templates using ZopeTestCase.Functional

Paul Winkler pw_lists at slinkp.com
Wed Oct 5 18:59:45 EDT 2005


Jens Vagelpohl said:
>>> The machinery doesn't know which skin is selected I presume. You can
>>> "force" it by calling "changeSkin" on the skinnable object manager
>>> (the portal is one) to select a skin path as set up in the skins
>>> tool:
>>>
>>> self.portal.changeSkin('Nouvelle')
>>>
>>
>> That may well be necessary, but it's evidently not sufficient :-) Any
>> other ideas?  Meanwhile, it's more time in the debugger for me... Hmm,
>> now that I think about it, I seem to recall that skin objects aren't
>> acquired when I'm poking around in "zopectl debug" either. Presumably
>> it's the same problem.
>
> This specific condition (skin objects not found when in zopectl debug
> or when testing) has *always* been remedied for me by calling
> changeSkin...

Aha!  I just confirmed that it works as you say in zopectl debug.
(You do have to first make sure that the portal has a REQUEST attribute.)
I had a closer look at the setup done by CMFTestCase.setupCMFSite()
and it explicitly avoids setting up the default skins as an optimization,
and provides a function you can call if you want 'em.
Problem solved!!  Thanks for the hint.


-- 
Paul Winkler
http://www.slinkp.com





More information about the Zope-CMF mailing list