PHPUnitとPhpStorm#
注意:
このドキュメントでは、以下を前提としています:
- Dockerを使用している
- docker-compose.yml
ファイルを持つ標準的なAmazee/Lagoonプロジェクトを使用している
- Macを使用している(他のOSでも動作するはずですが、フォルダ構造や設定が異なる場合があります)
プロジェクトの設定#
/core/phpunit.xml.dist
ファイルを複製し、/core/phpunit.xml
という名前で保存します。-
/core/phpunit.xml
を編集し、以下の変数を設定します:- SIMPLETEST_DB:
mysql://drupal:drupal@mariadb:3306/drupal#db
- SIMPLETEST_BASE_URL:
<PROJECT_URL>
- SIMPLETEST_DB:
PhpStormの設定#
Dockerの設定#
- PhpStormで、ファイル > 設定 > ビルド、実行、デプロイ > Dockerへ移動します。
+
ボタンをクリックします。Docker for Mac
を選択します。
CLIインタープリタの設定#
新しいCLIインタープリタを追加:
- PhpStormで、ファイル > 設定 > 言語 & フレームワーク > PHPへ移動します。
...
ボタンをクリックし、+
ボタンをクリックします。- 次に、Docker、vagrantなどから新しいCLIインタープリタを追加を選択します。
- 以下の設定を使用します:
* サーバー:
<DOCKER>
* 設定ファイル:./docker-compose.yml
* サービス:cli
* ライフサイクル:既存のコンテナに接続 ('docker-compose exec')
- パスのマッピング:
- ローカルパス:
<ROOT_PATH>
- リモートパス:
/app
- ローカルパス:
リモートインタープリタの設定#
リモートインタープリタの追加:
- PhpStormで、ファイル > 設定 > 言語 & フレームワーク > PHP > テストフレームワークへ移動します。
+
ボタンをクリックして、PHPUnit by Remote Interpreter
を選択します。- 以下の設定を使用します:
- CLIインタープリタ:
<CLI_INTERPRETER>
- パスマッピング:
<PROJECT_ROOT> -> /app
- PHPUnit:
Use Composer autoloader
- スクリプトへのパス:
/app/vendor/autoload.php
- デフォルトの設定ファイル:
/app/web/core/phpunit.xml
- CLIインタープリタ:
ランナーテンプレートの設定/構成 #
- ランナーの設定:
- PhpStormで、実行 > 設定の編集... > テンプレート > PHPUnitへ移動します。
- 以下の設定を使用します:
1. テストスコープ:
Defined in the configuration file
2. インタープリター:
<CLI_INTERPRETER>
注意:
Mac以外のOSでは手順が異なる場合があります。
最終チェック#
テストを実行する前に、いくつかの確認が必要です。#
- プロジェクトが起動していることを確認します:
$ docker-compose up -d
- プロジェクトがエラーなく動作していることを確認します (サイトにアクセスして、すべて想定通りに動作していることを確認してください)。必ずしも必要ではありませんが、正常に動作していることを確認しておくと安心です。
- これでテストを実行する準備が整いました!
実行準備完了#
上記の設定が完了していれば、実行したいテストに移動し、緑色の矢印をクリックするだけで簡単に実行できます!
PhpStormは、Dockerを使用してCLIコンテナに入り、設定に基づいてPHPUnitを実行します。