PhpStorm 2020.2ヘルプ

Codeception

PhpStormは、Codeceptionテストフレームワーク(英語)バージョン2.2.0以降でユニット機能、および受け入れテストを実行するためのサポートを提供します。

始める前に

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

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

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

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

  • Codeceptionインストールページ(英語)codeception.pharをダウンロードし、Codeceptionが後で使用されるプロジェクトのルートに保存します。

    codeception.pharを別の場所に保存して、それをインクルードパスとして構成することもできます。どちらの場合でも、PhpStormはcodeception.pharをインデックスに含めるため、Codeceptionクラスへの参照を正常に解決し、完全なコーディング支援を提供します。

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

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

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

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

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

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

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

Gutter icon for codeception settings in composer.json

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

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

codeception.yml設定ファイルを生成する

Codeceptionをインストールしたら、codeception.yml構成ファイルを生成してプロジェクトで初期化する必要があります。

  • ビルトインPhpStorm ターミナル Alt+F12 を開き、コマンドプロンプトで、インストールモードと現在のオペレーティングシステムに応じて、次のコマンドのいずれかを入力します。

    • プロジェクトにcodeception.pharをインストールした場合は、Windowsの場合は php codecept.phar bootstrap、Linuxの場合はmacOSまたは codecept bootstrap と入力します。

    • Composerを介してCodeceptionをグローバルにインストールした場合は、すべてのプラットフォームで codecept bootstrap と入力します。

Codeceptionを自動的に設定する

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

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

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

Codeceptionを手動で設定する

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

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

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

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

      ps_settings_php_test_frameworks_codeception_choose_php_interpreter.png
  2. Codeceptionライブラリ領域で、ターゲット環境でのCodeception実行可能ファイルまたはcodeception.pharアーカイブの場所を指定します。例:CodeceptionからComposerまでインストールした場合、実行可能ファイルは ベンダー/ bin / codeceptに保存されます。Codeceptionディレクトリまたはpharファイルへのパスフィールドの横にある the Reload button をクリックします。PhpStormはCodeceptionのバージョンを検出し、フィールドに表示します。

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

    デフォルトでは、Codeceptionはプロジェクトのルートフォルダーでcodeception.yml構成ファイルを検索します。カスタム構成ファイルを指定できます。

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

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

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

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

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

    • メインメニューからファイル | 新規を選択します。次に、コンテキストメニューからPHP テスト | Codeception ユニット・テストまたはPHP テスト | Codeception 機能テストを選択します。

    • プロジェクトツールウィンドウで、Alt+Insert を押すか、テストするPHPクラスを右クリックし、新規 | PHP テスト | Codeception ユニット・テストまたは新規 | PHP テスト | Codeception 機能テストを選択します。

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

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

  2. 新しいPHPテストを作成するダイアログが開きます。

    the Create new codeception test dialog

    生成されたテストのパラメータを提供する:

    • テストファイルテンプレート、つまりPhpStormがテストクラスを生成するためのテンプレート。テストファイルテンプレートリストでCodeceptionユニットまたはCodeception機能性が選択されていることを確認してください。

    • テストクラスの名前。PhpStormは、本番クラス名から自動的に<本番クラス> Test.phpCodeception ユニット・テストの場合)または<本番クラス> Cest.phpCodeception 機能テストの場合)として名前を作成します。

    • テストクラスファイルのフォルダー。本番クラスを含むディレクトリと名前空間、構成済みのテストソースルートとそのpsr-4パッケージプレフィックス、またはcodeception.yml(英語)構成ファイルで指定された tests 値に基づいて自動的に提案されます。

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

    • テストクラスが属する名前空間。これは、本番クラスを含むディレクトリと名前空間、構成済みのテストソースルートとそのpsr-4パッケージプレフィックス、またはcodeception.yml(英語)構成ファイルで指定された namespace 値に基づいて自動的に提案されます。

    • テストメソッドスタブを生成する本番クラスメソッド。必要な本番クラスメソッドの横にあるチェックボックスを選択します。親クラスから継承されたメソッドを含めるには、継承されたメソッドを表示するチェックボックスを選択します。

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

テストが作成されたら、ナビゲート | テスト対象にジャンプを選択して本番クラスに戻ることができます。詳細については、テストとそのテスト対象の間を移動するを参照してください。

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

Codeceptionテストの記述については、ユニット・テスト(英語)受け入れテスト(英語)、および機能テスト(英語)を参照してください。

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

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

    ps_test_frameworks_codeception_launch_tests.png

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

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

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

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

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

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

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

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

テスト結果を監視する

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

ps_test_result_codeception.png

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

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

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

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

関連ページ:

ローカル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つのペインで構成されています。中央ペインには、...

実行/デバッグ構成: Codeception

このダイアログは、PHPとCodeceptionプラグインが有効になっている場合にのみ利用可能です。プラグインはデフォルトで有効になっています。プラグインが無効になっている場合は、プラグインを管理する説明に従ってプラグインページで有効にします。このダイアログを使用して、Codeceptionフレーム...

コンテンツ・ルート内のフォルダーの構成

コンテンツ・ルート内では、PhpStormはソースコードを含むフォルダーと、検索、解析、監視などの際に無視されるフォルダーを区別できます。さまざまなタイプのフォルダーを区別するには、コンテンツ・ルートのフォルダーをソースフォルダーまたは除外フォルダーとしてマークします。コンテンツ・ルート内では、Ph...