テストの実行
通常、PyCharm は、作成した実行 / デバッグ構成を実行することにより、他のアプリケーションと同じ方法でテストを実行およびデバッグします。その際、指定されたテストクラスまたはメソッドをテストランナーに渡します。
永続的な実行 / デバッグ構成がないテストを実行すると、一時的な構成が作成されます。後で再利用したい場合は、実行 / デバッグ構成ダイアログを使用してそのような構成を保存できます。
テストはバックグラウンドで実行されるため、同時に複数のテストを実行できます。
各実行構成は実行ツールウィンドウ(テスト結果タブ)に独自のタブを持っています。1 つのタブで複数のテストを集約できます。
コンテキストメニューに表示されるコマンドは、状況に応じて異なります。つまり、表示されるテストコマンドは、テストランナーと、このコマンドが呼び出される場所によって異なります。
Structure からテストを実行する
構造ツールウィンドウで、テストを右クリックし、 実行 'method name' (Ctrl+Shift+F10) を選択します。
PyCharm はこのテストで一時的な実行構成を作成します。この構成を再利用するには、必要に応じて保存して編集します。
PyCharm がテストの実行を終了すると、その実行構成のタブ上の実行ツールウィンドウに結果が表示されます。テスト結果の分析の詳細については、「テスト結果を調べる」を参照してください。
コミット後にテストを実行する
変更をプッシュする前に変更によってコードが壊れないことを確認したい場合は、コミットチェックとしてテストを実行することでそれを行うことができます。
Alt+0 を押してコミットツールウィンドウを開き、コミットオプションを表示 をクリックします。
「高度なコミットチェック」メニューで、「テストの実行」オプションの横にある「構成の選択」をクリックし、実行する構成を選択します。
テスト構成をセットアップした後、コミットするたびに指定されたテストが実行されます。
テストの実行またはデバッグ
テストの実行またはデバッグを開始するには、プロジェクトツールウィンドウまたはエディターのメインツールバーまたはコンテキストメニューを使用できます。
メインツールバーを使用してください。
メインツールバーのリストから必要な実行 / デバッグ構成を選択します。
使用可能な実行構成のリストを表示するには Alt+Shift+F10 を、デバッグ構成の場合は Alt+Shift+F9 を押してください。
リストの右側にある実行 またはデバッグ をクリックします。または、メインメニューから Shift+F10 または Shift+F9 を選択します。
コンテキストメニューを使う:
プロジェクトツールウィンドウでテストファイルまたはテストクラスを右クリックするか、エディターで開いて背景を右クリックします。コンテキストメニューから、<クラス名> を実行 /<ファイル名> の実行またはデバッグ ... を選択します。
テストメソッドの場合は、エディターでクラスを開き、メソッド内の任意の場所を右クリックします。コンテキストメニューには、コマンド実行 / デバッグ <メソッド名> が表示されます。
ディレクトリ内のすべてのテストを実行する
プロジェクトツールウィンドウで、実行するテストが含まれているディレクトリを選択します。
コンテキストメニューから、対応する実行コマンドを選択します。
ディレクトリに、さまざまなテストフレームワークに属するテストが含まれている場合は、使用する構成を選択します。
例:
を選択してください。テストランナーの検索結果。
テストを並行して実行する
デフォルトでは、すべてのテストは 1 つずつ実行されます。pytest テストフレームワークのためにこの振る舞いを変えて、あなたのテストを並行して実行することができます。
pytest テストの実行を最適化するためにテスト多重処理を可能にしてください。
テスト実行用の CPU の数を明示的に指定するには
pytest-xdist(英語) の説明に従って、パッケージのインストール、アンインストール、アップグレードパッケージをインストールします。
プロジェクトテストフレームワークとして pytest を指定してください。詳しくはテストフレームワークを参照してください。
メインツールバーの実行 / デバッグ構成のリストから実行構成の編集 ... を選択します。実行 / デバッグ構成ダイアログで、Pytest テストグループを展開し、<ディレクトリ名> の pytest を選択します。
PyCharm は、ディレクトリ内ですべてのテストを初めて実行したときにこの構成を作成します。まだテストを実行していない場合は、 アイコンをクリックして run/debug 設定パラメーターを指定します。
実行 / デバッグ構成ダイアログの追加引数フィールドに、テストを実行する CPU の数(
-n <number of CPUs>
)を指定し、変更を保存します。ここで、ディレクトリ内のすべてのテストを再度実行し、実行ツールウィンドウで出力をインスペクションします。示された例では、同じテストを結果的に実行した場合の合計実行時間は 35 秒 11 ミリ秒であるのに対し、20 秒 26 ミリ秒になります。テストレポートには、テストの実行に使用された CPU と実行時間に関する情報が提供されます。
あるいは、pytest.ini ファイルでテストを実行するための CPU の数を指定できます。例:
テストの実行を終了する
実行中のテストを停止できる場合は、実行中のすべてのテストがすぐに停止します。実行ツールウィンドウのテストのアイコンは、テストのステータス(合格、失敗、中止)を反映しています。
実行ツールウィンドウで、停止ボタン をクリックします。
または、Ctrl+F2 を押します。
関連ページ:
テスト用の実行 / デバッグ構成を作成する
実行 / デバッグ構成を使用して、通常のアプリケーションの実行と同様の方法でテスト(テストケース、テストスイートなど)を実行できます。PyCharm は、テストをターゲットとして指定できる、テスト目的で特別な実行 / デバッグ構成を作成するためのフレームワークを提供します。PyCharm は、通常の実行構成を作成する通常の手順に加えて、コンテナー内のすべてのテスト、単一のテストケース、テストメソッドの実行 / デバッグ構成を作成できるショートカットを提供します。テスト設定を作成するエディターでテ...
プロジェクトツールウィンドウ
プロジェクトツールウィンドウを使用すると、さまざまな視点からプロジェクトを確認し、新しい項目 (ディレクトリ、ファイル、クラスなど) の作成、エディターでのファイルのオープン、必要なコードフラグメントへの移動などのさまざまなタスクを実行できます。このツールウィンドウのほとんどの機能には、コンテンツペインのコンテキストメニューコマンドとして、関連するショートカットを介してアクセスします。このビューには、作成されたスクラッチファイル、クエリコンソール、拡張スクリプトを管理できるスクラッチとコンソー...
実行 / デバッグ構成ダイアログ
このダイアログを使用して、実行 / デバッグ構成を作成、編集、調整、削除したり、新しく作成されたすべての実行 / デバッグ構成に適用されるデフォルトのテンプレートを構成したりします。既存の実行 / デバッグ構成は、構成タイプごとにグループ化されています。新しい構成を作成するためのテンプレートは編集可能であり、ダイアログの左側のペインにある構成テンプレートの編集リンクから利用できます。いくつかの実行 / デバッグ構成では、PyCharm はログファイルでの出力の表示をサポートしています。対応する実...
テストランナータブ
テストランナータブは、テストセッションの開始時に実行ツールウィンドウで開き、同じツールバーボタンを備えています。実行ツールバーは、実行ツールウィンドウのツールバーとほとんど同じですが、テスト固有のボタンを備えています。左側のペインには、現在の実行 / デバッグ構成内のすべてのテストのツリービューが表示されます。ルートノードは、実行するように選択されたテストを表します。ネストされたノードは、テストスイートとテストケースの階層を表します。リーフノードは個々のテストを表します。各テストのステータスはア...
実行 / デバッグ構成
PyCharm は、実行 / デバッグ構成を使用して、コードを実行、デバッグ、テストします。各構成は、何を実行し、どのパラメーターと環境を使用するかを定義する、名前付きのスタートアッププロパティのセットです。さまざまな起動プロパティを使用して、PyCharm がスクリプトを実行するために使用するさまざまな方法を定義できます。例: 異なる Python インタープリターを使用して同じコードを実行し、さまざまな環境変数のセットを提供し、代替ファイルから入力値を取得できます。実行 / デバッグ構成には...
テスト結果を調べる
PyCharm でテストが実行されている間、テスト実行は実行ツールウィンドウのその実行構成のタブに表示されます。テスト実行が終了すると、そのタブでテスト結果を確認できます。右側のコンソールには、現在のテストセッションの出力が表示されます。テストの実行に関する詳細情報と、テストが失敗したか無視された理由を確認できます。テスト結果リストの上にあるテスト結果ツールバーを使用すると、成功したテストと無視されたテストの表示と非表示を切り替えたり、各テストの実行にかかった時間を表示したり、テスト結果をエクス...