pyramid.testing¶
- setUp(registry=None, request=None, hook_zca=True, autocommit=True, settings=None, package=None)[源代码]¶
集合 Pyramid 在单个单元测试期间注册并请求线程局部变量。
在中使用此函数
setUp直接或间接使用的UnitTest测试用例的方法:任何方法的
pyramid.config.Configurator此函数返回的对象。这个
pyramid.threadlocal.get_current_registry()或pyramid.threadlocal.get_current_request()功能。
如果您使用
get_current_*函数(或调用) Pyramid 使用这些函数的代码)而不调用setUp,pyramid.threadlocal.get_current_registry()将返回 全球的 application registry 这可能会导致单元测试与其执行的注册不隔离。如果
registry论证是None一个新的空 application registry 将创建pyramid.registry.Registry类)。如果registry论点不是None,传入的值应是pyramid.registry.Registry等级或适当的测试模拟。后
setUp完成后,注册表返回pyramid.threadlocal.get_current_registry()函数将是传递(或构造)的注册表,直到pyramid.testing.tearDown()被称为(或)pyramid.testing.setUp()再次调用)。如果
hook_zca论证是True,setUp将尝试执行该操作zope.component.getSiteManager.sethook( pyramid.threadlocal.get_current_registry),这将导致 Zope Component Architecture 全球API(例如zope.component.getSiteManager(),zope.component.getAdapter()等等)使用setUp作为它返回的值zope.component.getSiteManager(). 如果zope.component无法导入包,或者如果hook_zca是False,Hook将不设置。如果
settings不是None,它必须是一个字典,将传递给配置器的值表示为settings=参数。如果
package是None它将被设置为调用方的包。这个package设置在pyramid.config.Configurator将影响通过pyramid.config.Configurator.include()或pyramid.config.Configurator.maybe_dotted().此函数返回
pyramid.config.Configurator类,可用于进一步配置以设置适合单元或集成测试的环境。这个registry附加到配置器实例的属性表示“当前” application registry ;同一注册表将由返回pyramid.threadlocal.get_current_registry()在测试执行期间。
- tearDown(unhook_zca=True)[源代码]¶
撤消的效果
pyramid.testing.setUp(). 在中使用此函数tearDown使用的单元测试方法pyramid.testing.setUp()在其setUp方法。如果
unhook_zca论证是True(默认),调用zope.component.getSiteManager.reset(). 这将撤消pyramid.testing.setUp()当用参数调用时hook_zca=True. 如果zope.component无法导入,unhook_zca设置为False.
- testConfig(registry=None, request=None, hook_zca=True, autocommit=True, settings=None)[源代码]¶
返回测试设置的上下文管理器。
此上下文管理器调用
pyramid.testing.setUp()当进入和pyramid.testing.tearDown()退出时。所有参数都直接传递给
pyramid.testing.setUp(). 如果ZCA被钩住,它将永远不会被撕掉。此上下文管理器允许您这样编写测试代码:
1with testConfig() as config: 2 config.add_route('bar', '/bar/{id}') 3 req = DummyRequest() 4 resp = myview(req)
- cleanUp(*arg, **kw)[源代码]¶
的别名
pyramid.testing.setUp().
- class DummyResource(__name__=None, __parent__=None, __provides__=None, **kw)[源代码]¶
傀儡 Pyramid resource 对象。
- clone(__name__=<object object>, __parent__=<object object>, **kw)[源代码]¶
创建资源对象的克隆。如果
__name__或__parent__传递参数,使用这些值重写现有的__name__或__parent__资源的。如果通过kw参数,使用这些关键字添加或重写现有资源关键字(属性)。
- values()[源代码]¶
返回由uu setitem设置的值__
- class DummyRequest(params=None, environ=None, headers=None, path='/', cookies=None, post=None, accept=None, **kw)[源代码]¶
一个dummyRequest对象(不完全)模仿 request 对象。
这个
params,environ,headers,path和cookies参数对应于 WebOb 当量。这个
post如果传递参数,则填充请求的POST属性,但 notparams,以便测试应用程序只接受来自POST请求的给定视图的数据。此参数还设置self.method“邮寄”。额外的关键字参数被指定为请求本身的属性。
请注意,DummyRequest并不完全符合“真实”请求。例如,默认情况下,DummyRequest
GET和POST属性属于类型dict,与普通请求的get和post不同,后者属于MultiDict. 如果您的代码使用了multict的特性,那么您应该使用pyramid.request.Request或者通过将属性替换为MultiDict实例。存在其他类似的不相容性。如果需要请求的所有功能,请使用
pyramid.request.Request在编写测试时,类本身而不是这个类。- request_iface¶
IRequest的别名
- class DummyTemplateRenderer(string_response='')[源代码]¶
此类的实例从返回
pyramid.config.Configurator.testing_add_renderer(). 它有一个助手函数 (assert_)这样就可以作出断言,将视图函数传递给渲染器的数据与预期的键/值对进行比较。- assert_(**kw)[源代码]¶
接受一组任意的断言键/值对。对于每个断言键/值对,断言渲染器(例如
pyramid.renderers.render_to_response())接收到值等于断言值的键。如果渲染器根本没有接收到键,或者渲染器接收到的值与断言值不匹配,则引发AssertionError.