轻松设置Plone集成测试层
项目描述
简介
plone.testlayers旨在使设置Plone集成测试层变得快速且简单。其主要功能,makeTestLayer,将方便地生成一个测试层,该层将加载您的包ZCML并将它们安装,应用一个GenericSetup配置文件,并帮助您设置示例内容以加快测试速度。
使用方法
要使用plone.testlayers,您通常会为您的包创建一个基本的测试用例,类似于
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 """
portal.manage_delObjects(ids='foo')
ptc.setupPloneSite()
FooLayer = makeTestLayer(packages=('collective.foo', 'collective.bar'),
profile='collective.foo:default', create=create, destroy=destroy)
class FooTestCase(ptc.PloneTestCase):
""" base class for integration tests """
layer = FooLayer
有了这个,您现在可以设置您各自的测试用例,如下所示
from unittest import defaultTestLoader
from collective.foo.tests.base import FooTestCase
class FooTests(FooTestCase):
def testFoo(self):
# the 'foo' object set up in the layer should already exist
self.failUnless(self.portal['foo'])
def test_suite():
return defaultTestLoader.loadTestsFromName(__name__)
变更日志
1.0a3 - 2009年4月24日发布
添加生成多个测试层的支持。[witsch]
1.0a2 - 2009年4月23日发布
通过使用MANIFEST.in修复源分发。[witsch]
1.0a1 - 2009年4月23日发布
初始发布。[witsch]