[Zope-CMF] Re: CachingPolicyManager improvements
yuppie
y.2005- at wcm-solutions.de
Mon Sep 5 08:06:50 EDT 2005
Florent Guillaume wrote:
> Geoff Davis wrote:
>
>> I'm sure I won't do Stefan's work full justice (feel free to chime in,
>> Stefan!). The most important thing in my mind that ZopeTestCase does is
>> to make it simpler to set up your test fixture. ZopeTestCase creates a
>> new folder to work in, adds a user folder, and creates a user. It
>> provides methods to log in and out, to set permissions assigned to a
>> role,
>> and to set roles assigned to users.
>>
>> We ship a subclass of ZopeTestCase with Plone called PloneTestCase. An
>> instance of PloneTestCase creates a Plone site for you, installs a base
>> set of associated products, creates two members of the site, one with
>> Manager role and one with Member role, and creates folders owned by
>> each. It provides convenience methods for importing and installing
>> additional products, for logging in as given member, and so on.
>
>
> However this kind of default fixture actually is quite heavy, and makes
> you write tests that are hardly "unit" anymore. They are still good
> integration tests, but I've found that using PortalTestCase or something
> like that is often extremely costly in terms of time spent running the
> tests.
Agreed. Nevertheless we should focus on lowering the barrier of entry
for new CMF contributors. People used to write tests for Zope or Plone
will have less trouble if they can use ZopeTestCase. And ZopeTestCase
tests are definitely better than no tests at all.
On the other hand I'm not sure if it is a good idea to use
PortalTestCase (shipped with ZopeTestCase):
PortalTestCase is in the wrong layer. It makes assumptions about the way
CMF works. Changes to the CMF might break PortalTestCase and create a
dependency on a new Zope release. (We saw that problem already with the
_refreshSkinData changes in CMF 1.5)
Cheers, Yuppie
More information about the Zope-CMF
mailing list