Skip to main content

Painless setup of Plone integration test layers

Project description


plone.testlayers is supposed to make setting up test layers for Plone integration tests quick and painless. It’s main function, makeTestLayer will conveniently generate a test layer, which will load your packages ZCML and install them, apply a GenericSetup profile and help you set up sample content for speedier testing.


To make use of plone.testlayers you’d typically create a base test case for your package, somewhat like:

from Products.PloneTestCase import PloneTestCase as ptc
from plone.testlayers import makeTestLayer

def create(portal):
    """ create sample content for test runs """
    portal.invokeFactory('File', 'foo', title='foo', file='foo bar')

def destroy(portal):
    """ clean up sample content for test runs """

FooLayer = makeTestLayer(packages=('', ''),
    profile='', create=create, destroy=destroy)

class FooTestCase(ptc.PloneTestCase):
    """ base class for integration tests """
    layer = FooLayer

With that in place you can now set up your individual test cases like:

from unittest import defaultTestLoader
from import FooTestCase

class FooTests(FooTestCase):

    def testFoo(self):
        # the 'foo' object set up in the layer should already exist

def test_suite():
    return defaultTestLoader.loadTestsFromName(__name__)


1.0a3 - Released April 24, 2009

  • Add support for generating multiple test layers. [witsch]

1.0a2 - Released April 23, 2009

  • Fix source distribution by using a [witsch]

1.0a1 - Released April 23, 2009

  • Initial release. [witsch]

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date (17.1 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page