quart.testing パッケージ#

サブモジュール#

モジュール内容#

class quart.testing.QuartCliRunner(app: Quart, **kwargs: Any)#

ベース: CliRunner

invoke(cli: Any = None, args: Any = None, **kwargs: Any) Any#

分離された環境でコマンドを実行します。引数はコマンドラインスクリプトに直接転送され、extraキーワード引数はコマンドのmain()関数に渡されます。

これはResultオブジェクトを返します。

パラメーター:
  • cli – 実行するコマンド

  • args – 実行する引数。反復可能オブジェクトまたは文字列として指定できます。文字列として指定された場合、Unixシェルコマンドとして解釈されます。shlex.split()の詳細を参照してください。

  • inputsys.stdinの入力データ。

  • env – 環境のオーバーライド。

  • catch_exceptionsSystemExit以外の例外をキャッチするかどうか。

  • extramain()に渡すキーワード引数。

  • color – 出力にカラーコードを含めるかどうか。アプリケーションはこれを明示的にオーバーライドできます。

バージョン 8.0 で変更: 結果オブジェクトには、実行されたコマンドから返された値を持つreturn_value属性があります。

バージョン 4.0 で変更: colorパラメーターを追加しました。

バージョン 3.0 で変更: catch_exceptionsパラメーターを追加しました。

バージョン 3.0 で変更: 結果オブジェクトには、利用可能な場合、トレースバックを持つexc_info属性があります。

class quart.testing.QuartClient(app: Quart, use_cookies: bool = True)#

ベース: object

async delete(*args: Any, **kwargs: Any) Response#

DELETEリクエストを行います。

open()で引数の詳細を参照してください。

クッキーを削除します(すぐに期限切れに設定します)。

async get(*args: Any, **kwargs: Any) Response#

GETリクエストを行います。

open()で引数の詳細を参照してください。

async head(*args: Any, **kwargs: Any) Response#

HEADリクエストを行います。

open()で引数の詳細を参照してください。

http_connection_class#

TestHTTPConnectionのエイリアス

async open(path: str, *, method: str = 'GET', headers: dict | ~werkzeug.datastructures.headers.Headers | None = None, data: AnyStr | None = None, form: dict | None = None, files: dict[str, ~quart.datastructures.FileStorage] | None = None, query_string: dict | None = None, json: ~typing.Any = <object object>, scheme: str = 'http', follow_redirects: bool = False, root_path: str = '', http_version: str = '1.1', scope_base: dict | None = None, auth: ~werkzeug.datastructures.auth.Authorization | tuple[str, str] | None = None, subdomain: str | None = None) Response#
async options(*args: Any, **kwargs: Any) Response#

OPTIONSリクエストを行います。

open()で引数の詳細を参照してください。

async patch(*args: Any, **kwargs: Any) Response#

PATCHリクエストを行います。

open()で引数の詳細を参照してください。

async post(*args: Any, **kwargs: Any) Response#

POSTリクエストを行います。

open()で引数の詳細を参照してください。

async put(*args: Any, **kwargs: Any) Response#

PUTリクエストを行います。

open()で引数の詳細を参照してください。

request(path: str, *, method: str = 'GET', headers: dict | Headers | None = None, query_string: dict | None = None, scheme: str = 'http', root_path: str = '', http_version: str = '1.1', scope_base: dict | None = None, auth: Authorization | tuple[str, str] | None = None, subdomain: str | None = None) TestHTTPConnectionProtocol#
session_transaction(path: str = '/', *, method: str = 'GET', headers: dict | ~werkzeug.datastructures.headers.Headers | None = None, query_string: dict | None = None, scheme: str = 'http', data: AnyStr | None = None, form: dict | None = None, json: ~typing.Any = <object object>, root_path: str = '', http_version: str = '1.1', auth: ~werkzeug.datastructures.auth.Authorization | tuple[str, str] | None = None) AsyncGenerator[SessionMixin, None]#

クッキージャーにクッキーを設定します。

引数は標準的なクッキーの要素であり、これはstdlibのSimpleCookieコードのラッパーです。

async trace(*args: Any, **kwargs: Any) Response#

TRACEリクエストを行う関数。

open()で引数の詳細を参照してください。

websocket(path: str, *, headers: dict | Headers | None = None, query_string: dict | None = None, scheme: str = 'ws', subprotocols: list[str] | None = None, root_path: str = '', http_version: str = '1.1', scope_base: dict | None = None, auth: Authorization | tuple[str, str] | None = None, subdomain: str | None = None) TestWebsocketConnectionProtocol#
websocket_connection_class#

TestWebsocketConnection のエイリアス

class quart.testing.TestApp(app: Quart, startup_timeout: int = 6, shutdown_timeout: int = 6)#

ベース: object

async shutdown() None#
async startup() None#
test_client() TestClientProtocol#
例外 quart.testing.WebsocketResponseError(response: Response)#

基底クラス: Exception

quart.testing.make_test_body_with_headers(*, data: AnyStr | None = None, form: dict | None = None, files: dict[str, FileStorage] | None = None, json: Any = <object object>, app: Quart | None = None) tuple[bytes, Headers]#

ヘッダー付きの本文バイト列を作成します。

パラメーター:
  • data – リクエスト本文に送信する生のデータ。

  • form – リクエスト本文にフォームエンコードして送信するキーと値のペアデータ。

  • files – リクエスト本文にファイルエンコードして送信するキーとFileStorageのペアデータ。

  • json – リクエスト本文にJSONエンコードして送信するデータ。

quart.testing.make_test_headers_path_and_query_string(app: Quart, path: str, headers: dict | Headers | None = None, query_string: dict | None = None, auth: Authorization | tuple[str, str] | None = None, subdomain: str | None = None) tuple[Headers, str, bytes]#

テスト用のデフォルト値を使用して、ヘッダーとパスを作成します。

パラメーター:
  • app – テスト対象のアプリケーション。

  • path – 要求するパス。`query_string`引数が定義されていない場合、この引数は「?」で区切られ、その後の部分が`query_string`とみなされます。

  • headers – 送信する初期ヘッダー。

  • query_string – 辞書として送信します。あるいは、パスから`query_string`を決定することもできます。

quart.testing.make_test_scope(type_: str, path: str, method: str, headers: Headers, query_string: bytes, scheme: str, root_path: str, http_version: str, scope_base: dict | None, *, _preserve_context: bool = False) HTTPScope | WebsocketScope | LifespanScope#
非同期 quart.testing.no_op_push(path: str, headers: Headers) None#

何も行わないプッシュプロミス送信者。

これは、QuartClientの外でテスト用のRequestインスタンスを作成する場合に最適です。Requestインスタンスはプッシュプロミスをどのように処理するかを知る必要があり、これにより何も行わないという選択肢が与えられます。