PhpStorm 2025.3 ヘルプ

PHPUnit

PhpStorm は、PHPUnit(英語) テストフレームワークとの統合による PHP アプリケーションの単体テストをサポートしています。

始める前に

ローカル PHP インタープリターを構成するおよびリモート PHP インタープリターの構成の説明に従って、PHP インタープリターが PHP ページの PhpStorm に設定されていることを確認してください。

PHPUnit をダウンロードしてインストールする

開始する前に、Composer がマシンにインストールされ、Composer 依存関係マネージャーに従って現在のプロジェクトで初期化されていることを確認してください。

phpunit.phar を手動でダウンロードしてインストールする

  • phpunit.pharPHPUnit 公式サイト(英語)からダウンロードし、コンピューターに保存します。

    • PHPUnit テストを実行する機能に加えて完全なコーディング支援が必要な場合は、phpunit.phar を PHPUnit が後で使用されるプロジェクトのルートに格納します。

    • PHPUnit テストを実行するだけで、コーディング支援が必要ない場合、phpunit.phar をプロジェクトの外に保存することができます。

Composer を使って phpunit.phar をダウンロードしてインストールする

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

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

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

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

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

Gutter icon for phpunit settings in composer.json

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

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

PHPUnit を自動的に設定する

  1. phpunit.xml または phpunit.xml.dist 構成ファイルをプロジェクトルートに保存します。

  2. PHPUnit を Composer と一緒にインストールします

PhpStorm は、インストールされている PHPUnit 実行可能ファイル (プロジェクトに指定された PHPUnit 依存関係を持つ Composer が管理するサブプロジェクトがある場合は複数の実行可能ファイル) を検出し、インストールされている各 PHPUnit 実行可能ファイルごとにテストフレームワーク構成をテストフレームワークページに作成します。

PHPUnit configurations

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

PHPUnit run/debug configurations

PHPUnit を手動で設定する

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

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

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

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

      ps_settings_php_test_frameworks_phpunit_choose_php_interpreter.png
  2. 右側のペインで、PHPUnit ライブラリのインストールタイプを選択します。

    • Composer オートローダーを使用するには、vendor フォルダー内の autoload.php ファイルへのパスを指定します。詳細については、Composer を参照してください。

    • phpunit.phar から PHPUnit を実行するには、phpunit.phar(英語) をダウンロードし、アーカイブをプロジェクトのルートフォルダーに保存して、そのパスを指定します。ローカル構成の場合は、提供されているダウンロードリンクをクリックしてアーカイブをダウンロードできます。現在のプロジェクトで使用するには、デフォルトの PHP インタープリターが定義されていることを確認してください。

      Reload button をクリックすると、PhpStorm が検出され、PHPUnit のバージョンが表示されます。

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

    ブートストラップファイルへのパスを入力して、テストを起動する前に常に PHP スクリプトを実行することもできます。フィールドで、スクリプトの場所を指定します。パスを手動で入力するか、the Browse button をクリックして、表示されるダイアログで目的のフォルダーを選択します

    編集時に、特定の PHPUnit 実行 / デバッグ構成に対して代替構成とブートストラップファイルを提供することもできることに注意してください。

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

  1. 次のいずれかを実行して新しい PHP テストを作成するダイアログを開きます。

    • ファイル | 新規に進みます。次に、コンテキストメニューから PHP テスト | PHPUnit テストを選択します。

    • プロジェクトツールウィンドウで、Alt+Insert を押すか、テストする PHP クラスを右クリックしてを選択します。

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

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

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

    the Create new phpunit test dialog
    • テストファイルテンプレート : PhpStorm がテストクラスを生成するためのテンプレート。リストから PHPUnit (PHPUnit バージョン 6 以前を使用している場合は PHPUnit <6) が選択されていることを確認します。

    • 名前 : テストクラスの名前。PhpStorm は、本番クラス名から <production class>Test.php という名前を自動的に作成します。

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

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

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

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

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

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

PHPUnit テストメソッドを生成する

  1. エディターで必要なテストクラスを開き、クラス定義内の任意の場所にキャレットを置きます。

  2. コンテキストメニューで生成を選択するか、Alt+Insert を押します。次に生成リストからテストメソッドを選択します。

  3. テストフィクスチャをセットアップします。つまり、テスト開始前に必要な環境をエミュレートし、テスト終了後に元の環境を返すコードのスタブを生成します。

    • コンテキストメニューで生成を選択するか、Alt+Insert を押します。次に、生成リストから SetUp メソッドまたは TearDown メソッドを選択します。

    詳細は、PHPUnit 公式サイトのフィクスチャ(英語)を参照してください。

設定ダイアログ (Ctrl+Alt+S) のファイルおよびコードテンプレートページで、PHPUnit テストメソッドの生成に使用されるコードテンプレートをカスタマイズできます。このページにすばやくアクセスするには、生成リストでメソッドのサブメニューからテンプレートの編集を選択します。

Edit PHPUnit method template

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

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

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

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

    ps_test_frameworks_phpunit_launch_tests.png

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

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

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

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

Run a single PHPUnit test

単一のデータセットに対してテストを実行する

PHPUnit テストでデータプロバイダー(英語)を使用する場合、一部のタイプのデータセットに対して単一のテストを実行できます。個別に実行できるデータセットは、エディターで App run configurations test state run ガターアイコンでマークされます。

  • ファイルエディターで、データセットの横にあるガターで App run configurations test state run をクリック (または対応するコード行を右クリック) し、実行 '<test_name>' を選択します。

    Run a PHPUnit test for a single data set

選択したテストを実行する

  1. エディターでターゲットファイルを開き、目的のテストターゲット、つまりテストするクラスまたはメソッドを右クリックし、移動 | テストを選択するか Ctrl+Shift+T を押します。

  2. ポップアップメニューから、実行するテストを選択します。複数選択の場合は、Ctrl および Shift を使用します。

    Run a selection of tests
  3. テスト選択を実行するには、Ctrl+Shift+F10 を押します。

テストセッションが終了すると、PhpStorm はテストスコープコンポジットに設定して実行 / デバッグ構成を自動的に作成します。詳細については、PHPUnit を参照してください。

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

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

    Save automatically generated configuration

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

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

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

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

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

PHPUnit テストを並行して実行する

PhpStorm での PHPUnit テストの実行を高速化するには、ParaTest(英語) パッケージを使用して並列プロセスで実行できます。並列実行オプションは、フォルダー (テストスイート) にグループ化された PHPUnit テストに対して設定できます。

  1. 次のいずれかの方法で、テストランナー設定で PhpStorm 用 ParaTest バイナリファイル(英語)へのパスを設定します。

    • 設定ダイアログ (Ctrl+Alt+S) で、PHP | テストフレームワークに移動し、デフォルトの ParaTest バイナリフィールドを設定します。

      Provide path to ParaTest library in settings
    • 既存の実行構成の場合、実行構成ダイアログを開き、ParaTest を使用するチェックボックスを選択して、フィールドにファイルへのパスを設定します。

      Provide path to ParaTest library in run configuration
  2. プロジェクトツールウィンドウで、テストを実行するフォルダーを右クリックし、コンテキストメニューから <test_name> (PHPUnit) を ParaTest で実行するオプションを選択します。

    Select run tests with Paratest option

    または、phpunit.xml 構成ファイルを右クリックし、コンテキストメニューから ParaTest で `phpunit.xml (PHPUnit)` を実行するオプションを選択します。

テスト結果を監視する

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

ps_test_result_phpunit.png

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

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

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

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

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

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

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

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

    ps_phpunit_set-auto-test-delay.png
2025 年 8 月 01 日

関連ページ:

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

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

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

リモート PHP インタープリターは、リモートホストまたは仮想環境にインストールされる PHP エンジンです。リモート PHP インタープリターという用語は、ローカルコンピューターにインストールされるローカル PHP インタープリターの反対です。PhpStorm では、Docker コンテナー内、Docker Compose、Vagrant、WSL 経由で、SSH 経由でリモート PHP インタープリターへのアクセスを構成できます。SSH 構成タイプを使用すると、リモートホスト上のサーバーにインスト...

PHP

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

Composer 依存関係マネージャー

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

テストフレームワーク

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

パス選択ダイアログ

パスの選択ダイアログでは、さまざまな状況でファイルまたはフォルダーの場所を指定できます。たとえば、実行する実行可能ファイル、使用する構成ファイル、テストまたはインスペクションの結果をエクスポートするファイルを指定する必要がある場合があります。ダイアログの名前と利用可能なオプションは、実行しているタスクによって異なります。現在のコンテキストで適用できない機能は通常無効になっています。たとえば、1 つの項目しか選択できない場合もあれば、複数の項目を選択できる場合もあります。また、フォルダーは選択でき...