Clickアプリケーションのテスト—クリックドキュメント
提供:Dev Guides
Click/docs/6.x/testing
Clickアプリケーションのテスト
基本的なテストのために、Clickはclick.testing
モジュールを提供します。このモジュールは、コマンドラインアプリケーションを呼び出してその動作を確認するのに役立つテスト機能を提供します。
これらのツールは、単純化のためにインタプリタの状態全体を変更し、スレッドセーフではないため、実際にはテストにのみ使用する必要があります。
基本的なテスト
Clickアプリケーションをテストするための基本的な機能は、コマンドラインスクリプトとしてコマンドを呼び出すことができる CliRunner です。 CliRunner.invoke()メソッドは、コマンドラインスクリプトを分離して実行し、出力をバイトとバイナリデータの両方としてキャプチャします。
戻り値は Result オブジェクトであり、キャプチャされた出力データ、終了コード、およびオプションの例外が添付されています。
例:
サブコマンドのテストでは、 CliRunner.invoke()メソッドの args パラメーターにサブコマンド名を指定する必要があります。
例:
ファイルシステムの分離
ファイルシステムを操作する基本的なコマンドラインツールの場合、 CliRunner.isolated_filesystem()メソッドが役立ちます。このメソッドは、空のフォルダーを設定し、現在の作業ディレクトリをに変更します。
例:
入力ストリーム
テストラッパーを使用して、入力ストリーム(stdin)の入力データを提供することもできます。 これは、次のようなプロンプトのテストに非常に役立ちます。
プロンプトは、入力データを出力ストリームにも書き込むようにエミュレートされることに注意してください。 隠された入力が予想される場合、これは明らかに起こりません。