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通过Spring MVC web应用程序向客户端发送文本文件   java是否可以在运行时动态实例化DAO类?   调用VB。来自Java的net函数   java在Android中通过单击打开特定文件夹   java如何使用maven pom。xml标识非标准项目结构中的testng测试用例?   java为什么FOP在大文件上崩溃?   Architecture python+flask和spring boot+java   java Kafka工具根本没有启动Ubuntu 19.10   如何使用Eclipse运行Java USB API for Windows   java如何在Eclipse中查看J2EE预览服务器/容器的日志/控制台?   网页抓取是否可以使用Java crawler crawler4j暂停和恢复抓取?   java当我第二次按下按钮时,应用程序停止工作   带有偏移量和限制的java SQLite分页问题   java如何在OSX mavericks中将端口80转发到8080   java从泛型方法调用非泛型方法   java My代码未按预期工作。十进制输出不是它应该的样子   节点。java中的js加密(jasypt)和nodejs中的解密   java乘法表不工作数组索引超出范围   java将JDBC与Firebirdsql连接起来