PhpStorm 2020.2ヘルプ

Behat

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

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

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

  • 機能ファイルでの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出力が表示されます。

最終更新日: 2020年9月03日

関連ページ:

ローカル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ページのPhpStormに設定さ...