CMF集成测试框架。
项目描述
简介
CMFTestCase是在ZopeTestCase包之上的一层薄层。它已经被开发出来以简化基于CMF的应用程序和产品的测试。
CMFTestCase 包提供以下功能:
功能 installProduct 用于将 Zope 产品安装到测试环境中。
功能 installPackage 用于将通过 five:registerPackage 注册的 Python 包安装到测试环境中。需要 Zope 2.10.4 或更高版本。
功能 setupCMFSite 用于在测试数据库中创建 CMF 门户。
注意: setupCMFSite 接受一个可选的 products 参数,允许您指定要添加到门户的产品列表。产品安装是通过标准的 Extensions.Install.install 函数执行的。从 0.8.2 版本开始,您还可以传递一个 extension_profiles 参数以导入 GS 扩展配置文件。
用于派生测试用例的 CMFTestCase 类。
用于派生功能单元测试用例的 FunctionalTestCase 类。
用于与您的测试用例混合的 Sandboxed 和 Functional 类。
常量 portal_name、portal_owner、default_products、default_base_profile、default_extension_profiles、default_user 和 default_password。
常量 CMF15,当 CMF 版本 >= 1.5 时返回 true。
常量 CMF16,当 CMF 版本 >= 1.6 时返回 true。
常量 CMF20,当 CMF 版本 >= 2.0 时返回 true。
常量 CMF21,当 CMF 版本 >= 2.1 时返回 true。
常量 CMF22,当 CMF 版本 >= 2.2 时返回 true。
包含来自 ZopeTestCase 包的所有实用函数的 utils 模块。
示例 CMFTestCase
from Products.CMFTestCase import CMFTestCase CMFTestCase.installProduct('SomeProduct') CMFTestCase.setupCMFSite(products=('SomeProduct',)) class TestSomething(CMFTestCase.CMFTestCase): def afterSetup(self): self.folder.invokeFactory('Document', 'doc') def testEditDocument(self): self.folder.doc.edit(text_format='plain', text='data') self.assertEqual(self.folder.doc.EditableBody(), 'data')
使用 GenericSetup 的示例 CMFTestCase 设置
from Products.CMFTestCase import CMFTestCase CMFTestCase.installProduct('SomeProduct') CMFTestCase.setupCMFSite(extension_profiles=('SomeProduct:default',))
请参阅 ZopeTestCase 包的文档,特别是 PortalTestCase 类的文档。
查看此目录中的示例测试以了解如何使用 CMFTestCase 包。
将 testSkeleton.py 复制到您的测试中开始。
变更日志
0.9.12 (2012-07-02)
使用 zope.component 中的 getSite。[hannosch]
0.9.11 - 2010-09-20
修复了 safe_load_site 调用的清理方法,无论标志是否在 Zope2.App.zcml 或 Products.Five.zcml 中,都会将组件注册表标记为未初始化。[davisagli]
0.9.10 - 2010-07-13
与 Zope 2.13 兼容,并避免与 zope.schema 词汇表的设置问题。[hannosch]
0.9.9 - 2009-11-14
有条件地调用 member folder 上的 reindexObjectSecurity,因为 CMF 2.2 的 PortalFolder 已不再具有此方法。[davisagli]
以向后兼容的方式指定所有依赖项。[hannosch]
0.9.8 - 2009-04-19
修复了使用 Globals 的弃用警告。[hannosch]
添加了 CMF22 常量。[stefan]
0.9.8b4 - 2008-10-26
修复 setup.py 中的主页 URL。[stefan]
0.9.8b3 - 2008-10-16
修复:在接管后重新索引成员区域的权限。[stefan]
0.9.8b2 - 2008-10-08
Egg 由于使用 svn export 而损坏。谁会想到 setuptools 有所不同?[stefan]
0.9.8b1 - 2008-10-05
静默安装所有 CMF 产品。
将 Products.CMFTestCase Egg 化。
0.9.7
CMFSite 层现在可以设置多次。
0.9.6
处理 CMF 2.1 及以上版本中的新皮肤设置。
如果 ZopeTestCase 支持它,则提供 hasPackage 和 installPackage。
在 CMF 2.1 及以上版本中使用新的无状态 GenericSetup API。
0.9.4
针对 CMF 的变化进行了一些小的测试修复。
0.9.2
增加了对本地组件注册表的支持。现在在导入配置文件之前以及在每次测试之前,我们都会在门户上调用setSite()。
0.9.0
增加了CMF21常量。
为将ZopeTestCase切换到Zope3接口做准备。
懒加载etc/site.zcml,而不是使用包装器。
逐个导入扩展配置文件以获得更好的控制。
添加了CMFTestCase.addProfile()方法,允许将扩展配置文件导入站点。这是setupCMFSite()传递‘extension_profiles’参数的替代方法。
使用layer.CMFSite懒创建CMF站点。
将utils.py重命名为five.py。
0.8.6
确保层清理将Five.zcml重置为“未初始化”。
0.8.4
允许将基本配置文件传递给setupCMFSite函数。
添加了ZCMLLayer以支持最近的Zopes和zope.testing.testrunner。感谢Whit Morris。
0.8.2
添加了对将通用设置扩展配置文件列表传递给setupCMFSite函数的支持。
0.8.0
更新到CMF 1.6的新门户创建过程。
0.7.0
更新到CMF 1.5。
添加了API模块,ctc.py。
为CMFTestCase添加了addProduct()方法,允许将产品添加到门户。这是setupCMFSite()传递‘products’参数的替代方法。
CMFTestCase现在使用由ZopeTestCase >= 0.9.8提供的独立版本“transaction”模块。
0.6.0(尚未发布)
setupCMFSite()现在接受一个“products”参数,允许指定将通过执行其相应的Extensions.Install.install()方法添加到门户的产品列表。
删除了setupCMFSkins()以及设置不带皮肤的CMF站点的功能。
将ZopeTestCase.utils模块作为CMFTestCase.utils提供。
为“功能”CMF测试添加了FunctionalTestCase基类。
测试类现在断言其接口。
0.5.0
用于测试基于CMF的产品和应用程序的包。
项目详情
Products.CMFTestCase-0.9.12.zip的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cbeb78c29a0ca96fda5f68d6808ea7a8a95adcca02df7e511b4e1d49a0d95ce2 |
|
MD5 | fbfdfe7bdb2158419d9899b4ab8c43eb |
|
BLAKE2b-256 | 4a327b9f97cc90f291e7d1a117e112742d60235b528f2c858a849c89608504a9 |