为zope.testing提供简化测试设置的层
项目描述
van.testing为测试不使用ZODB或本地工具的zope3/WSGI应用程序提供工具。
测试工具
此测试模块最常用的用途是功能测试zope应用程序。它提供设置层的工具,这些层加载配置ZCML,并在层中设置wsgi_intercept。
此测试是此类层的一部分(在van.testing.tests.FunctionalLayer中设置)
>>> 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
层
一些基本的层,对于测试设置很有用。
>>> 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提供了一些默认层,用于使用“null”层,该层特别不执行任何操作。这对于继承其他层但不希望设置/拆除函数运行两次的层很有用(这是zope.testing的bug吗?)
>>> class ExampleNullLayer(ZCMLLayer): ... pass >>> null_layer(ExampleNullLayer)
此测试在van.testing.tests.ZCMLLayer层中运行,因此我们可以获取“test”实用程序但不能获取test_extra实用程序(有关具有功能的zcml层的示例,请参阅zcml_features.txt)
>>> 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_layer 的域名和端口。
略微修复 testbrowser 支持,使其更接近 zope.testbrowser.testing.Browser。
移除对本地组件注册表(zope.site)的支持。这是因为 zope.site 的测试目前依赖于整个 ZODB。
2.0.0 (2009-04-01)
通过使用 zope.configuration.xmlconfig 来设置 zcml 而不是 zope.app.appsetup 来移除依赖项。这省略了一些安全配置,但减少依赖项的收益巨大。在我的测试中,没有测试与这个问题有任何问题。
添加一个 wsgi_intercept 层和一个功能层,该层结合了 zcml 和 wsgi_intercept 层。
1.0.0 (2008-11-21)
初始发布
项目详情
van.testing-3.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 04fd7a0a8413f89348705a7c3b573fe76ca18e0006f62967f33f602c646c17b1 |
|
MD5 | aab7ad2abd49b09fc44c9f3ca8acbbb0 |
|
BLAKE2b-256 | 4d2e0270a1bb5a3c9661b7b3e6cb104064ceda02b43bd9de2e0887a374d2c421 |