PhpStorm 2026.1 Help

Behat

PhpStorm を使用すると、 シナリオBehat フレームワークで実行することによって、振る舞い駆動開発を実践できます。 現在 PhpStorm は Behat 3 および Behat 2 バージョンとの統合をサポートしています。

PhpStorm での Behat のネイティブサポートには以下が含まれます:

  • feature シナリオファイルと PHP シナリオ定義ファイルの認識とコーディング支援。

  • feature (英語) ファイルでの Gherkin 構文のサポート: 機能ScenarioGivenWhenThenAndBut キーワード。

  • 定義ファイルでの @given@when@then アノテーションの認識。

  • Behat 2.4 の PCRE 標準および Behat 3.0 の PCRE+ に従って、正規表現を使用して シナリオとその 定義との対応を設定します。 カブの表情(英語)も大歓迎です。

始める前に

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

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

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

Behat インストールパッケージを手動でダウンロードする

  • behat.phar Behat ダウンロードページ(英語)からダウンロードし、コンピューターに保存します。

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

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

Composer を使用して Behat をダウンロードしてインストールする

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

  2. 次のいずれかを実行します:

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

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

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

composer.json の behat 設定のガターアイコン

Behat 公式サイト(英語)から Behat をインストールする方法の詳細を参照してください。

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

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

Behat を自動的に設定する

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

  2. Composer と Behat をインストール

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

Behat 構成

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

Behat の実行 / デバッグ構成

Behat を手動で設定する

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

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

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

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

      ps_settings_php_test_frameworks_behat_choose_php_interpreter.png
  2. Behat ライブラリ 領域に、Behat 実行ファイルまたは behat.phar アーカイブの場所を指定します。

    Behat ディレクトリまたは phar ファイルへのパス フィールドの横にある the Reload button をクリックします。 PhpStorm は Behat のバージョンを検出し、フィールドの下に表示します。

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

    • デフォルト構成ファイル チェックボックスをオフにすると、Behat はプロジェクトのルートフォルダーにある behat.yml または behat.yml.dist 設定ファイルを使用します。 該当するファイルが見つからない場合、テスト実行は失敗します。 そのため、設定ファイルを明示的に指定した方が確実です。

    • すべての Behat 実行 / デバッグ構成でデフォルトの構成ファイルとして使用される YML ファイルへのパスを指定するには、 デフォルト構成ファイル チェックボックスを選択します。

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

Behat の機能の書き方の詳細については、「Behat ドキュメント(英語) 」を参照してください。

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

  • プロジェクトツールウィンドウで、テストの実行元となるフィーチャーファイルを選択し、選択したコンテキストメニューから 実行『<feature file>』; または デバッグ『<feature file>』; を選択します。

    ps_test_frameworks_behat_launch_tests.png

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

自動的に生成されたデフォルト設定を保存する

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

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

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

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

Behat テスト結果の監視

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

ps_test_result_behat.png

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

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

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

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

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

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

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

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

    ps_phpunit_set-auto-test-delay.png
2026 年 5 月 22 日