zope的层。简化测试设置的测试

van.testing的Python项目详细描述


testing提供了用于测试基于zope3/wsgi的应用程序的工具。 不使用zodb或本地实用程序。

Testing Utilities

这个测试模块最常用的是功能测试zope 应用。它提供了设置加载配置的层的工具 以及在层中设置wsgi_截获。

此测试是此类层的一部分(在van.testing.tests.functionalayer中设置):

>>> from wsgi_intercept import WSGI_HTTPConnection as HTTPConnection
>>> conn = HTTPConnection('localhost', 80)
>>> conn.request('GET', '/')
>>> r = conn.getresponse()
>>> print r.read() # doctest: +ELLIPSIS
{'HTTP_ACCEPT_ENCODING': 'identity',
 'HTTP_HOST': 'localhost',
 'PATH_INFO': '/',
 'QUERY_STRING': '',
 'REMOTE_ADDR': '127.0.0.1',
 'REQUEST_METHOD': 'GET',
 'SCRIPT_NAME': '',
 'SERVER_NAME': 'localhost',
 'SERVER_PORT': '80',
 'SERVER_PROTOCOL': 'HTTP/1.1\r\n',
 'wsgi.errors': <cStringIO.StringO object at ...>,
 'wsgi.input': <cStringIO.StringI object at ...>,
 'wsgi.multiprocess': 0,
 'wsgi.multithread': 0,
 'wsgi.run_once': 0,
 'wsgi.url_scheme': 'http',
 'wsgi.version': (1, 0)}
Marker: MARKER

Layers

一些基本的图层对测试设置很有用。

>>> import os.path
>>> from van.testing.layer import zcml_layer, null_layer

一个zcml层,它建立并删除一个zcml测试工具(但是 比zope.app.functional提供的简单:

>>> class ZCMLLayer:
...     zcml = os.path.join(os.path.dirname(__file__), 'ftesting.zcml')
>>> zcml_layer(ZCMLLayer)

提供了一些用于zope.testing的默认层,一个“空”层 具体来说什么都不做。这对于从其他层继承的层很有用 层,但不希望安装/拆卸功能运行两次(这是 zope.testing错误?):

>>> class ExampleNullLayer(ZCMLLayer):
...     pass
>>> null_layer(ExampleNullLayer)

此测试在van.testing.tests.zcmlayer层中运行,因此我们可以获取 “test”实用程序,但不是test_extra实用程序(有关 zcml层示例,具有以下功能:

>>> from zope.interface import Interface
>>> from zope.component import queryUtility
>>> queryUtility(Interface, name="test", default='None')
'MARKER'
>>> queryUtility(Interface, name="test_extra", default='None')
'None'

3.0.0 (2009-10-28)

  • 添加一个选项,使zcml层上有一个zcml_features属性,指示 加载zcml时要加载的功能。

2.0.1 (2009-04-07)

  • 允许用户通过指定wsgi_intercept_层的域和端口 将这些属性添加到类中。
  • fix testbrowser支持一点,使其执行更像 zope.testbrowser.testing.browser。
  • 删除对本地组件注册表(zope.site)的支持。这就带来了 整个zodb作为zope.site的测试目前依赖于它。

2.0.0 (2009-04-01)

  • 通过使用zope.configuration.xmlconfig设置zcml删除依赖项 而不是zope.app.appsetup。这会遗漏一些安全配置 但从较少的依赖中获得的胜利是巨大的。在我的测试中,没有任何测试 与此相关的问题。
  • 添加wsgi_intercept层和结合zcml的functional_层 和wsgi_拦截层。

1.0.0 (2008-11-21)

  • 初始版本

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

推荐PyPI第三方库


热门话题
安卓如何在java字符串中获取RATE的值   java ANT在哪里输出编译器错误?   在java中,while循环在何处启动对象   javacom。谷歌。格森。内部的LinkedTreeMap无法强制转换到我的类   java单选按钮。isSelected()方法未返回正确的响应   嵌入式系统中applet中的java相对码基字段   如何在eclipse中将Java应用程序附加到jvm探查器?   java为什么Android应用程序崩溃?   在java中拖放上传后保持文件夹结构   爪哇多领导人选举问题   java Springs RestTemplate如何处理postForEntity()中的错误响应   Java如何用前导零递增整数字符串?   java Android将文本作为图像共享给其他应用程序   Java搜索替换   java isDirectory()不适用于UNIX目录   java我们可以得到显示测试类是否通过或失败的TestNG报告吗   Java类对象排序和分组   简单Java幂递归   java在处理MethodArgumentNotValidException时如何访问请求对象?