(機械翻訳) 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)
-
class
DummyResource
(__name__=None, __parent__=None, __provides__=None, **kw)[ソース]¶ ダミー:app: Pyramid:term:` resource`オブジェクトです。
-
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``を"POST "に設定します。
余分なキーワード引数は、リクエスト自体の属性として割り当てられます。
DummyRequestは"実際の"要求に対して完全な忠実性を持っていないことに注意してください。たとえば、デフォルトでは、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>¶
-