pyramid.testing

setUp(registry=None, request=None, hook_zca=True, autocommit=True, settings=None, package=None)[源代码]

集合 Pyramid 在单个单元测试期间注册并请求线程局部变量。

在中使用此函数 setUp 直接或间接使用的UnitTest测试用例的方法:

如果您使用 get_current_* 函数(或调用) Pyramid 使用这些函数的代码)而不调用 setUppyramid.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 论证是 TruesetUp 将尝试执行该操作 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_zcaFalse ,Hook将不设置。

如果 settings 不是 None ,它必须是一个字典,将传递给配置器的值表示为 settings= 参数。

如果 packageNone 它将被设置为调用方的包。这个 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 参数,使用这些关键字添加或重写现有资源关键字(属性)。

items()[源代码]

返回由setitem设置的项目__

keys()[源代码]

返回设置项设置的键__

values()[源代码]

返回由uu setitem设置的值__

class DummyRequest(params=None, environ=None, headers=None, path='/', cookies=None, post=None, accept=None, **kw)[源代码]

一个dummyRequest对象(不完全)模仿 request 对象。

这个 paramsenvironheaderspathcookies 参数对应于 WebOb 当量。

这个 post 如果传递参数,则填充请求的 POST 属性,但 not params ,以便测试应用程序只接受来自POST请求的给定视图的数据。此参数还设置 self.method “邮寄”。

额外的关键字参数被指定为请求本身的属性。

请注意,DummyRequest并不完全符合“真实”请求。例如,默认情况下,DummyRequest GETPOST 属性属于类型 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 .