PhpStorm 2026.1 Help

PHP テストを生成する

PhpStorm で新しいテストクラスを素早く作成するには、ソースコードから呼び出せる専用のインテンションアクションを使用します。 この場合、IDE は新しいテストクラスファイルを作成し、選択した PHP クラスのテストスタブを生成します。

このアクションは、 PHPUnitPestCodeceptionPHPSpec テストフレームワークで使用できます。

新しいテストを追加する

  1. エディターで、テストを作成する PHP クラスまたはメソッド宣言内にキャレットを置き、 Alt+Enter を押して、 新しい PHP テストを作成する を選択します。

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

    新しい php テスト phpunit を作成するダイアログ
  2. 新しい PHP テストを作成する ダイアログで、以下を指定します。

    • テストファイルテンプレート: テストクラスが生成されるベースとなるフレームワークテンプレート。 PhpStorm は、次のサポートされているテストフレームワークでテストクラスを生成するための 組み込みのファイルテンプレートを提供します: PHPUnitPestCodeceptionPHPSpec

    • 名前: PhpStorm は、選択したテストフレームワークの命名規則に従い、本番クラス名から名前を自動的に作成します。 例: PHPUnit テストファイルの場合は、 <MyClass>Test.php になります。

    • ディレクトリ: テストクラス用のフォルダーは、本番クラスのディレクトリと名前空間、設定済みの テストソースルートとその PSR-4 パッケージ接頭辞 、または対応するテストフレームワークの構成ファイルに指定された値に基づいて自動的に提案されます。 パス補完を使用するには、 Ctrl+Space を押し、リストからパスを選択します。

    • 名前空間: PhpStorm は、設定済みの PSR パッケージ接頭辞やフレームワーク固有の構成ファイルで指定された値に基づいて、 名前空間を自動的に補完できます。 名前空間補完を呼び出すには、 Ctrl+Space を押してください。

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

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

テストとそのテスト対象の間を移動する

  1. エディターでテストクラスまたはテスト対象クラスを開きます。

  2. エディターのコンテキストメニューから 移動 | テスト対象 を選択するか、 Ctrl+Shift+T を押します。

    このクラスのテストが 1 つしかない場合、IDE はすぐにそのクラスに移動します。 それ以外の場合は、ポップアップから必要なテストを選択するか、 新しいテストを作成するように求められます。

    テスト対象からテストに移動する

PHP のコンテキストでは、 PHPUnit および Codeception テストを操作するときに、 @covers(英語) アノテーションを使用してテストクラスまたはメソッドとそれらのテスト対象間のリンクを維持できます。

このようにして、たとえ彼らの名前が PHPUnit の命名規則(英語)に従わなくても、テストとテスト対象の間を移動することは可能でしょう:

class Person { public function getAge() {} } /** @covers Person */ class TestForPersonClass extends TestCase { /** @covers Person::getAge */ public function testCorrectAgeIsReturned() {} }
2026 年 5 月 22 日