PhpStorm 2024.1 ヘルプ

Pest

PhpStorm には Pest テストフレームワーク(英語)のサポートが付属しています。ファイルエディターまたは PhpStorm の実行 / デバッグ構成を使用して、Pest テストを実行、コードカバレッジを使用して実行、またはデバッグできます。

IDE は Pest 期待 API を理解するため、Pest アサーションおよびユーザー定義のテストメソッドを操作するときに、コード補完の使用、使用箇所の検索、その他のコーディング支援機能を使用できます。

Pest のインストールと初期化

PhpStorm 内から Pest をインストールするには:

  1. composer.json 内で、pestphp/pest 依存関係レコードを require キーまたは require-dev キーに追加します。パッケージ名とバージョンのコード補完を取得するには、Ctrl+Space を押します。

  2. 以下のいずれか 1 つを実行します:

    • エディターパネルの上部にあるインストールショートカットリンクをクリックします。

    • インストールされていない Composer パッケージインスペクションが有効になっている場合、PhpStorm は、現在インストールされていない宣言済みの依存関係をハイライトします。Alt+Enter を押して、特定の依存関係をインストールするか、すべての依存関係を一度にインストールするかを選択します。

  3. ターミナルツールウィンドウで、./vendor/bin/pest --init コマンドを実行して現在の PHP プロジェクトで Pest を初期化し、サンプルテストファイルを含む tests フォルダーと phpunit.xml 構成ファイルをテストスイートのルートレベルに追加します。

composer.json エディターのガター内のパッケージレコードの横にある the Settings button をクリックすると、対応する設定ページが表示され、そこで Pest を手動で構成できます。

Gutter icon for pest settings in composer.json

Pest を PhpStorm プロジェクトと統合する

ローカルの PHP インタープリターを使用する場合、PhpStorm は Pest の初期構成を自動的に実行します。リモート PHP インタープリターの場合、手動の Pest 構成が必要です。

PhpStorm に Pest を自動的に設定させる

プロジェクトに Pest をインストールすると、PhpStorm はインストールされた Pest 実行可能ファイルを検出し、テストフレームワークページにテストフレームワーク構成を作成します。

Pest configurations

phpunit.xml または phpunit.xml.dist 構成ファイルがプロジェクト (またはサブプロジェクト) ルートで自動的に検出された場合、または手動構成中に明示的に指定された場合、PhpStorm はそれぞれの Pest 実行 / デバッグ構成も作成します。

Pest run/debug configurations

    Pest を手動で設定する

    1. 設定ダイアログ(Ctrl+Alt+S)で、PHP | テストフレームワークに移動します。

      開いているテストフレームワークページの中央ペインで Add icon をクリックし、リストから設定タイプを選択します。

      ps_settings_php_test_frameworks.png
      • ローカル構成では、デフォルトのプロジェクト PHP インタープリターが使用されます。詳細については、デフォルトのプロジェクト CLI インタープリターを参照してください。

      • リモート PHP インタープリターで Pest を使用するには、表示されるダイアログで以下のいずれかの設定を選択します。

        ps_settings_php_test_frameworks_pest_choose_php_interpreter.png
    2. テストランナー領域で、シナリオの起動と実行に使用する構成 XML ファイルを指定します。

      デフォルトでは、Pest はプロジェクトルートフォルダーで phpunit.xml または phpunit.xml.dist 構成ファイルを検索します。カスタム構成ファイルを指定できます。

    クラスの Pest テストを生成する

    1. エディターで、テストする PHP クラスの定義にキャレットを置き、Alt+Enter を押して、ポップアップメニューから新規テストの作成を選択します。この方法で、単一の PHP ファイル内の複数のクラス間で定義された PHP クラスのテストを生成できます。

      特定のメソッドのテストを作成するには、メソッド宣言内にキャレットを置きます。選択したメソッドは、新しい PHP テストを作成するダイアログのメソッドのリストから自動的に選択されます。

    2. 開いた新しい PHP テストを作成するダイアログで、生成されたテストのパラメーターを指定します。

      the Create new pest test dialog
      • テストファイルテンプレート : PhpStorm がテストクラスを生成するテンプレート。リストから Pest が選択されていることを確認します。

      • 名前 : テストクラスの名前。PhpStorm は、本番クラス名から名前を自動的に作成します。

      • ディレクトリ : テストクラスファイルのフォルダー。これは、本番クラスの格納ディレクトリと名前空間、構成されたテストソースルートとその PSR-4 パッケージプレフィックス、または構成ファイルで指定された値に基づいて自動的に提案されます。

        別のフォルダーを指定するには、ディレクトリフィールドの横にある the Browse button をクリックし、該当するフォルダーを選択します。

      • 名前空間 : テストクラスが属する名前空間。これは、本番クラスの格納ディレクトリと名前空間、構成されたテストソースルート、およびその psr-4 パッケージプレフィックスに基づいて自動的に提案されます。

      • メンバー : テストメソッドスタブを生成する製品クラスメソッドのリスト。必要な製品クラスメソッドの横にあるチェックボックスをオンにします。親クラスから継承されたメソッドを含めるには、継承メソッドの表示チェックボックスをオンにします。

        PhpStorm はテストメソッドの名前を test<production method> として自動的に作成します。テストメソッドスタブの生成に使用されるコードテンプレートは、ファイルおよびコードテンプレート設定ページのコードタブでカスタマイズできます。

    テストが作成されたら、移動 | テスト対象に移動を選択して実稼働クラスに戻ることができます。詳細については、「テストとそのテスト対象の間を移動する」を参照してください。

    Pest テストの実行とデバッグ

    単一のテストだけでなく、ファイルやフォルダー全体からのテストも実行およびデバッグできます。PhpStorm は、デフォルト設定で実行 / デバッグ構成を作成し、テストを起動します。後でこの構成を保存して再利用できます。

    Pest テストの実行またはデバッグ

    • プロジェクトツールウィンドウで、テストを実行するファイルまたはフォルダーを選択し、選択したコンテキストメニューから実行 '<file or folder>' またはデバッグ '<file or folder>' を選択します。

      ps_test_frameworks_pest_launch_tests.png

      PhpStorm はデフォルトの実行構成を生成し、それを使用して実行またはデバッグテストセッションを開始します。

    単一のテストを実行またはデバッグする

    ファイルエディターウィンドウから、特定のテストクラスまたはテストメソッドの単一のテストを実行またはデバッグできます。

    • エディターでテストファイルを開き、テストの横のガターで をクリックし、コンテキストメニューから実行 '<test_name>' またはデバッグ '<test_name>' を選択します。あるいは、対応する行にキャレットを置き、Ctrl+Shift+F10 を押します。

    Run a single PHPUnit test

    テストファイル内の特定のテストにすばやく移動するには、ファイル構造ビューを使用します。開いているファイル内の任意の場所にキャレットを置き、Ctrl+F12 を押してファイル構造ポップアップを開きます。

    Test file structure popup

    Alt+7 を押すと、構造ツールウィンドウでファイル構造が開きます。

    自動生成された構成を永続的なものとして保存する

    • テストセッションが終了したら、実行ウィジェットのそれぞれの実行 / デバッグ構成のコンテキストメニューから構成の保存を選択します。

      Save automatically generated configuration

    以前に保存された実行 / デバッグ構成によってテストを実行またはデバッグする

    • ツールバーのリストから必要な Pest 構成を選択し、the Run button または the Debug button をクリックします。

    カスタム実行 / デバッグ構成を作成する

    1. プロジェクトツールウィンドウで、実行するテストが含まれるファイルまたはフォルダーを選択し、コンテキストメニューから実行構成の作成を選択します。あるいは、メインメニューで実行 | 実行構成の編集に移動し、Add icon をクリックしてリストから Pest を選択します。

    2. 開く Pest ダイアログで、実行するシナリオを指定し、使用する PHP インタープリターを選択し、PHP 実行可能ファイルに渡すオプションと引数を指定してその動作をカスタマイズします。

    テスト結果を監視する

    PhpStorm は実行ツールウィンドウテストランナータブにおけるテスト実行結果を示します。

    ps_test_result_pest.png

    このタブは大きく 2 つのエリアに分かれています。

    • 左側の領域では、すべての単体テストをドリルダウンして、成功したテストと失敗したテストを確認できます。テストのフィルタリング、結果のエクスポート、コンテキストメニューコマンドを使用して特定のテストを実行したりソースコードに移動したりできます。

    • 右側の領域には、生の Pest 出力が表示されます。

    Pest テストを自動的に実行する

    影響を受けるコードが変更された場合、自動的に PhpStorm を再実行することができます。このオプションは、実行 / デバッグ構成ごとに構成され、この実行 / デバッグ構成で指定されたテスト範囲に応じて、テスト、テストファイル、フォルダー、テストの複合選択に適用できます。

    1. テストを実行します。

    2. 実行ツールバーで、 自動的に再実行をクリックします。

      ps_phpunit_enable-auto-test.png
    3. オプションで、コードの変更時にテストを開始するまでの遅延時間を設定します。これを行うには、実行ツールバーで をクリックし、 テストランナーの設定 | 自動テスト遅延の設定を選択します。

      ps_phpunit_set-auto-test-delay.png

    関連ページ:

    ローカル PHP インタープリターを構成する

    ローカル PHP インタープリターは、リモートホスト、Docker コンテナー、または Vagrant 仮想環境にインストールされるリモート PHP インタープリターとは対照的に、コンピューターにインストールされる PHP エンジンです。ローカル PHP インタープリターを構成するを押して設定を開き、を選択します。表示される PHP ページで、CLI インタープリターリストの横にあるをクリックします。表示される CLI インタープリターダイアログで、左側のペインのをクリックして、ポップアップメニュー...

    リモート PHP インタープリターの構成

    リモート PHP インタープリターという用語は、リモートホストまたは仮想環境にインストールされた PHP エンジンを指します。リモート PHP インタープリターという用語は、コンピューターにインストールされているローカル PHP インタープリターの対義語として使用されます (ローカル PHP インタープリターの構成を参照)。SSH、Docker、Docker Compose、Vagrant、WSL を介してリモート PHP インタープリターにアクセスできます。SSH を使用すると、PHP インター...

    PHP

    このページとこのノードのすべてのページは、PHP プラグインが有効な場合にのみ使用できます。PHP プラグインは PhpStorm にバンドルされており、デフォルトで有効になります。プラグインが無効になっている場合は、プラグインのマッピングの説明に従ってで有効にします。このページを使用して、使用可能な PHP インタープリターの 1 つを選択して、プロジェクトでの PHP 開発および単体テストのサポートを構成します。PHP 言語レベルこのリストでは、コーディング支援を受ける PHP 機能の範囲を指定...

    テストフレームワーク

    このページを使用して、現在のプロジェクトで PHP テストフレームワークを PhpStorm と統合します。PhpStorm を使用すると、PHPUnit、Behat、PHPSpec、Codeception、Pest テストを実行およびデバッグできます。プロジェクトでテストフレームワークを設定するをクリックし、テストフレームワークとそれを実行する PHP インタープリターを選択します。リモートの設定では、設定済みの PHP インタープリターのいずれかを選択します:、右側のペインで、テストフレームワ...

    Composer 依存関係マネージャー

    PhpStorm は Composer 依存関係マネージャーと統合されています。これにより、Packagist またはカスタムリポジトリからのパッケージをプロジェクトの依存関係として宣言し、IDE から管理できます。PhpStorm は以下を提供します。一般的な Composer コマンド (init、install、update、および多数の追加 Composer コマンド) を実行するための専用ユーザーインターフェース。コマンド出力は Composer ログコンソールに表示されます。PhpStorm...

    プロジェクトで PHP 名前空間を構成する

    PhpStorm は、PHP の名前空間名をディレクトリ構造にマップする必要があることを規定する PSR-0/PSR-4 オートロード標準をサポートします。PhpStorm でソースルートタイプでマークされたディレクトリはネームスペースのルートとみなされ、その下に作成されるすべてのディレクトリは別個のネームスペースとみなされます。ソースルートタイプが設定されている場合、新しいクラス / インターフェースなどを作成するときに、PhpStorm によって名前空間名が自動補完されます。このディレクトリ内に...