PHPUnit と PhpStorm#
注意:
このドキュメントでは、以下を前提としています:
- Dockerを使用しています。
- docker-compose.yml
ファイルを含む標準的なAmazee/Lagoonプロジェクトを使用しています。
- Macを使用しています - 他のオペレーティングシステムでも動作するはずですが、フォルダ構造や一部の設定が異なる場合があります。
プロジェクトの設定#
/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. テストスコープ:
設定ファイルで定義されている
2. 通訳者:
<CLI_INTERPRETER>
注意:
Macを使用していない場合、この内容は異なる場合があります。
最終チェック#
テストを実行する前に行う最終チェック#
- プロジェクトが起動し、稼働していること:
$ docker-compose up -d
- プロジェクトがエラーなく動作していること、サイトを訪れてすべてが期待通りに動作していることを確認する - これは100%必要ではありませんが、正常に動作していることを知っておくとよいでしょう。
- テストを実行する準備が整っているはずです!
実行の準備完了#
上記の設定を行ったら、実行したいテストに移動し、緑色の矢印を押すだけで簡単に実行できるはずです!
このボタンを押すと、PhpStormはDockerを使用してCLIコンテナに入り、設定に基づいてPHPUnitの実行を開始します。