PhpStorm 2020.3 ヘルプ

Behat

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

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

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

  • feature ファイルでの Gherkin(英語) 構文のサポート: Feature , Scenario , Given , When , Then , And および But キーワード。

  • 定義ファイル内の @given , @when および @then 注釈の認識。

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

始める前に

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

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

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

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

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

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

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

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

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

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

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

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

composer.json エディターガターのパッケージレコードの横にあるthe Settings/Preferences buttonをクリックして、対応する設定 / 環境設定ページにジャンプし、Behat を手動で構成します

Gutter icon for behat settings in composer.json

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

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

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

Behat を自動的に設定する

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

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

PhpStorm はテストフレームワークページおよび Behat 実行 / デバッグ構成上にローカルフレームワーク構成を作成します。

Behat を手動で設定する

  1. 設定 / 環境設定ダイアログ Ctrl+Alt+S で、言語およびフレームワークノードを展開し、PHPテストフレームワークを選択します。

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

    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 はプロジェクトのルートフォルダーまたは config フォルダーで behat.yml 構成ファイルを検索します。カスタム構成ファイルを指定できます。

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

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

      このフィールドで、使用する構成ファイルの場所を指定します。手動でパスを入力するか、the Browse buttonをクリックして表示されるダイアログでファイルを選択します。

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

Behat 機能の記述方法については、Behat ドキュメント(英語)を参照してください。

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

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

    ps_test_frameworks_behat_launch_tests.png

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

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

  • テストセッションが終了したら、ファイルまたはフォルダーのコンテキストメニューから保存 <default_test_configuration_name> を選択します。

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

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

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

Behat テスト結果の監視

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

ps_test_result_behat.png

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

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

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

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

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

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

  2. テストランナータブで、ツールバーのthe Toggle Auto-Test buttonトグルボタンを押します。

    ps_phpunit_enable-auto-test.png
  3. 必要に応じて、the Settings buttonボタンをクリックして、コードの変更時にテストを開始するための遅延時間を設定します。

    ps_phpunit_set-auto-test-delay.png

関連ページ:

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

ローカル PHP インタープリターは、リモート PHP インタープリターの反対側にコンピューターにインストールされた PHP エンジンであり、リモートホストまたはVagrantインスタンスにセットアップされた仮想環境にインストールできます。リモート PHP インタープリターの構成を参照してください。...

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

リモート PHP インタープリターという用語は、リモートホストまたは仮想環境にインストールされた PHP エンジンを意味します。リモート PHP インタープリターという用語は、コンピューターにインストールされているローカル PHP インタープリターの反対語として使用されます。ローカル PHP インタ...

Composer 依存関係マネージャー

PhpStorm はComposer依存関係マネージャーと統合されます。これにより、Packagistまたはカスタムリポジトリからのパッケージをプロジェクトの依存関係として宣言し、IDE から管理できます。PhpStorm は、composer.jsonを操作するための包括的なコーディング支援と、一...

テストフレームワーク

このページを使用して、PHP 固有のテストフレームワークと現在のプロジェクトの PhpStorm を統合します。PhpStorm を使用すると、PHPUnit、Behat、Codeception、PHPSpecテストを実行およびデバッグできます。ページは 2 つのペインで構成されています。中央ペイン...

テストランナータブ

テストランナータブは、テストセッションの開始時に実行ツールウィンドウで開き、同じツールバーボタンを備えています。実行ツールバーは、実行ツールウィンドウのツールバーとほとんど同じですが、テスト固有のボタンを備えています。左側のペインには、現在の実行 / デバッグ構成内のすべてのテストのツリービューが表...

PHPUnit

PhpStorm は、PHPUnitテストフレームワークとの統合による PHP アプリケーションの単体テストをサポートしています。始める前に :ローカル PHP インタープリターを構成するおよびリモート PHP インタープリターの構成の説明に従って、PHP インタープリターがPHP ページの Php...