(機械翻訳) pyramid.testing

setUp(registry=None, request=None, hook_zca=True, autocommit=True, settings=None, package=None)[ソース]

Set:app: `Pyramid`レジストリと単一ユニットテストの期間中のスレッドローカルを要求します。

直接または間接的に以下を使用するunittestテストケースの `` setUp``メソッドでこの関数を使用してください:

  • この関数が返す:class: `pyramid.config.Configurator`オブジェクトのメソッドです。
  • :func: pyramid.threadlocal.get_current_registry`または:func: pyramid.threadlocal.get_current_request`関数を呼び出します。

`` setUp``を呼び出さずに `` get_current_ * ``関数(またはこれらの関数を使用するapp: Pyramid`コードを呼び出す)を使うと、:func: pyramid.threadlocal.get_current_registry`は*グローバル* :term: `アプリケーションレジストリ '。ユニットテストが実行される登録に関して分離されないことがあります。

`` registry``引数が `` None``の場合、新しい空:term: アプリケーションレジストリ`(:class: `pyramid.registry.Registry`クラスのインスタンス)が作成されます。 ` registry``引数が `` None``でない場合、渡される値は:class: `pyramid.registry.Registry`クラスのインスタンスであるか、適切なテスト用アナログでなければなりません。

func: pyramid.threadlocal.get_current_registry`関数は、func: pyramid.testing.tearDown`が呼び出されるまで渡された(または構築された)レジストリになります: func: `pyramid.testing.setUp`が再度呼び出されます)。

`` hook_zca``引数が `` True``の場合、 `` setUp``は `` zope.component.getSiteManager.sethook(pyramid.threadlocal.get_current_registry) という操作を実行しようとします。 `` setUp``で構築されたレジストリを `` zope.com.getSiteManager、 `` zope.component.getAdapter`などの `` Zope Component Architecture``のグローバルAPI(例:func: zope.component.getSiteManager、:func:` zope.component.getAdapter`など)値:func: zope.component.getSiteManager`から返されます。 :mod: `zope.component`パッケージをインポートできない場合、または hook_zca``が `False``の場合、フックは設定されません。

`` settings``が `` None``でなければ、それはConfiguratorに `` settings = ``引数として渡された値を表す辞書でなければなりません。

`` package``が `` None``ならば、それは呼び出し元のパッケージに設定されます。 :class: pyramid.config.Configurator`の package``設定は:meth: pyramid.config.Configurator.include`または:meth: pyramid.config.Configurator.maybe_dottedを介して行われる相対的なインポートに影響します

この関数は、:class: pyramid.config.Configurator`クラスのインスタンスを返します。これは、ユニットまたは統合テストに適した環境を設定するためのさらなる設定に使用できます。 Configuratorインスタンスに添付された ` registry``属性は、 'current':term: `application registry`を表します。同じレジストリがテストの実行中に:func: `pyramid.threadlocal.get_current_registry 'によって返されます。

tearDown(unhook_zca=True)[ソース]

func: pyramid.testing.setUp`の効果を元に戻します。この関数は、 ` setUp``メソッドで:func: pyramid.testing.setUp`を使用する単体テストの `tearDown``メソッドで使用します。

`` unhook_zca``引数が `` True``(デフォルト)の場合、func: zope.component.getSiteManager.reset`を呼び出します。これは引数 ` hook_zca = True``で呼び出されたとき:func: pyramid.testing.setUp`のアクションを元に戻します。 :mod: `zope.component`をインポートできない場合、 unhook_zca``は `False``に設定されます。

testConfig(registry=None, request=None, hook_zca=True, autocommit=True, settings=None)[ソース]

テスト設定用のコンテキストマネージャを返します。

このコンテキストマネージャは、func: pyramid.testing.setUp`を呼び出すときには:func: pyramid.testing.tearDown`を呼び出します。

すべての引数は:func: `pyramid.testing.setUp`に直接渡されます。 ZCAがフックされている場合は、tearDownでは常に解除されます。

このコンテキストマネージャでは、次のようなテストコードを書くことができます:

1
2
3
4
with testConfig() as config:
    config.add_route('bar', '/bar/{id}')
    req = DummyRequest()
    resp = myview(req)
cleanUp(*arg, **kw)[ソース]

:func: `pyramid.testing.setUp`の別名です。

class DummyResource(__name__=None, __parent__=None, __provides__=None, **kw)[ソース]

ダミー:app: Pyramid:term:` resource`オブジェクトです。

clone(__name__=<object object>, __parent__=<object object>, **kw)[ソース]

リソースオブジェクトのクローンを作成します。 `` __name__``または `` __parent__``引数が渡された場合は、これらの値を使用してリソースの既存の `` __name__``または `` __parent__``を上書きします。余分なキーワード引数が `` kw``引数で渡された場合は、これらのキーワードを使用して既存のリソースキーワード(属性)を追加または上書きします。

items()[ソース]

__setitem__で設定した項目を返します。

keys()[ソース]

__setitem__で設定されたキーを返します。

values()[ソース]

__setitem__で設定された値を返します。

class DummyRequest(params=None, environ=None, headers=None, path='/', cookies=None, post=None, **kw)[ソース]

DummyRequestオブジェクト(不完全)はa:term: `request`オブジェクトを模倣します。

`` phams``、 `` environ``、 `` headers``、 `` path``、 `` cookies``の引数は:term: `WebOb`に相当します。

渡された場合、 `` post``引数は、アプリケーションがPOSTリクエストからの特定のビューのデータを受け入れることをテストできるように、リクエストの `` POST``属性を取りますが、 `` `` params``ではありません。この引数は `` self.method``を&quot;POST &quot;に設定します。

余分なキーワード引数は、リクエスト自体の属性として割り当てられます。

DummyRequestは&quot;実際の&quot;要求に対して完全な忠実性を持っていないことに注意してください。たとえば、デフォルトでは、DummyRequestの `` GET``属性と `` POST``属性は、 `` MultiDict``型の通常のRequestのGETとPOSTとは異なり、 `` dict``型です。コードがMultiDictの機能を使用している場合は、real:class: pyramid.request.Request`を使用するか、属性を `MultiDict``インスタンスに置き換えることによってDummyRequestを適合させる必要があります。

他の同様の非互換性も存在する。リクエストのすべての機能が必要な場合は、テストを書くときにこのクラスではなく、:class: `pyramid.request.Request`クラスそのものを使用してください。

request_iface = <InterfaceClass pyramid.interfaces.IRequest>
class DummyTemplateRenderer(string_response='')[ソース]

このクラスのインスタンスは:meth: pyramid.config.Configurator.testing_add_renderer`から返されます。ビューファンクションによってレンダラーに渡されたデータを期待されるキーと値のペアと比較するアサーションを作成するヘルパー関数(assert_`)を持っています。

assert_(**kw)[ソース]

アサーションキーと値のペアの任意のセットを受け入れます。各アサーションキー/値のペアに対して、レンダラー(例えば、:func: pyramid.renderers.render_to_response)が、アサートされた値と等しい値を持つキーを受け取ったことをアサーションします。レンダラーがキーをまったく受け取らなかった場合、またはレンダラーが受け取った値がアサーション値と一致しない場合は、:exc: `AssertionError`を発生させます。