将测试用例用作zope.testing层

collective.testcaselayer的Python项目详细描述


快速入门

对于安装集合命名空间的简单测试层 打包到zope并将其genericsetup配置文件安装到 plonetestcase plone站点您可以执行以下操作。

在 鸡蛋的设置。py:

from setuptools import setup, find_packages
...
tests_require = ['collective.testcaselayer']
...
setup(name='collective.foo',
      ...
      install_requires=[
          'setuptools',
          # -*- Extra requirements: -*-
      ],
      tests_require=tests_require,
      extras_require={'tests': tests_require},
      ...
      entry_points="""

告诉您的构建包含测试依赖项。这只是 对于要运行测试的部署是必需的。像这样的, 您可以将其排除在生产构建配置之外,然后 仅将其放入构建的开发配置中:

...
eggs +=
    collective.foo [tests]
...

定义层。层可以使用与 PloneTestCase类,例如:

< Buff行情>
  • self.login(用户名)
  • self.loginasportalowner()
  • self.addProduct(产品)
  • self.addprofile(配置文件)

另外,还提供了一个方法,用zcml debug加载zcml文件 模式已启用:

< Buff行情>
  • self.loadzcml(文件,package=package)

您可以使用这样的collective.foo.testing模块:

< Buff行情>
>>> from Products.PloneTestCase import ptc
>>>
>>> from collective.testcaselayer import ptc as tcl_ptc
>>> from collective.testcaselayer import common
>>>
>>> class Layer(tcl_ptc.BasePTCLayer):
...     """Install collective.foo"""
...
...     def afterSetUp(self):
...         ZopeTestCase.installPackage('collective.foo')
...
...         from collective.foo import tests
...         self.loadZCML('testing.zcml', package=tests)
...
...         self.addProfile('collective.foo:default')
>>>
>>> layer = Layer([common.common_layer])

要在readme.txt doctest中使用此层,可以使用 collective.foo.tests模块如下:

< Buff行情>
>>> import unittest
>>> import doctest
>>>
>>> from Testing import ZopeTestCase
>>> from Products.PloneTestCase import ptc
>>>
>>> from collective.foo import testing
>>>
>>> optionflags = (doctest.NORMALIZE_WHITESPACE|
...                doctest.ELLIPSIS|
...                doctest.REPORT_NDIFF)
>>>
>>> def test_suite():
...     suite = ZopeTestCase.FunctionalDocFileSuite(
...         'README.txt',
...         optionflags=optionflags,
...         test_class=ptc.FunctionalTestCase)
...     suite.layer = testing.layer
...     return suite
>>>
>>> if __name__ == '__main__':
...     unittest.main(defaultTest='test_suite')

现在编写readme.txt doctest,您的测试可以使用 例如:

$ bin/instance test -s collective.foo

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Cassandra复制因子大于节点数   java J2EE JTA事务回滚不适用于OSE Glassfish 4.0(Build 89)   java spring安全预认证用户登录   org的java类文件。反应流。从RxJava编译示例时未找到Publisher?   java在使用dataFormat作为POJO通过Camel调用Web服务时无法设置SOAP标头   Javafx类的java静态实例   java如何防止一个部件在关闭时覆盖另一个部件的位置   sql server无法从我的java代码连接到数据库   java在JList(Swing)中显示带有的ArrayList   从Java中的CXF服务获取WSAddressing数据   使用资产文件夹进行java简单json解析(本地)   java LDAPException未绑定的无效凭据   JavaJSFspring部署到weblogic   JAVA中字符数组中的特定元素排列?   如果脚本位于不同的目录中,则ant不会使用exec标记运行Javashell脚本