Edited at

PhpStormからLaradockのPHPUnit実行できるようにすると捗る


これはなに

PhpStormからLaradock上でPHPUnitを実行する方法を書いてます。

スクリーンショットたくさん撮りました。


こんな感じでテストを実行できます

スクリーンショット 2019-09-19 20.08.14.png


メリット


  • ショートカットキーですぐテストを実行できる

  • メソッド単位、ファイル単位ですぐテストを実行できる

  • CLIより結果が見やすい

  • エラーがあったテストコードやエラー個所にすぐジャンプできる


前提

Laradock上でLaravelが動き、ブラウザで閲覧できる状況。


設定手順


CLI Interpreter に Laradockを追加

CLI Interpreterとは、 PHPの実行環境設定のこと。

Macに入ってるPHPを動かすのか、Laradockなのか、別のサーバなのかを設定します。

PhpStormのPreferenceを開く

スクリーンショット 2019-09-19 19.58.18.png

Preferences > Language & Frameworks > PHPを開く

スクリーンショット 2019-09-19 19.58.35.png

[...]ボタンをクリック

スクリーンショット 2019-09-19 19.58.35のコピー.png

[+]ボタンをクリック

スクリーンショット 2019-09-19 19.58.51.png

[From Docker, Vagrant, VM, Remote...]をクリック

スクリーンショット 2019-09-19 19.58.58.png

画面のように設定し、[OK]をクリックする。

スクリーンショット 2019-09-19 20.00.50.png


  • Docker Compose : チェックする

  • Server : Docker

  • Configration file(s) : Laradockのフォルダのdocker-compose.ymlを選択する

  • Service : workspace

  • Enviroment variables : なし (何に使うか不明)

  • PHP interpreter path : php

次の画面が表示されるので、以下のように設定し、OKをクリックする

スクリーンショット 2019-09-19 20.02.02.png


  • Name : laradock-workspace (お好みで設定する)

  • Service : workspace


    • (PhpStormのバグなのか、この画面を表示するたびに別な項目に変えられてしまうので、忘れずworkspaceを設定する)



  • Lifecycle : Connect to existing container


    • (Always start...にすると毎度Dockerが再起動して遅かった記憶がある)




Path Mapping

Laravelのプロジェクトフォルダと、Docker内のフォルダを関連付けします。

Path mappingsのファイルアイコンをクリック

スクリーンショット 2019-09-19 20.02.23.png

LocalPathにはLaravelのプロジェクトフォルダ、RemotePathに/var/wwwを入れて OK

スクリーンショット 2019-09-19 20.03.21.png

ここまで設定するとこうなります。

スクリーンショット 2019-09-19 20.03.34.png

あともう少しです。


Test Frameworks の追加

PHPUnitを実行するための環境を設定する。

Preferences > Language & Frameworks > PHP > Test Frameworks

スクリーンショット 2019-09-19 20.04.47.png

最初からLocalという設定が入っていたが、今回は関係ない。

[+]ボタンで[PHPUnit by Remote Interpreter]をクリック

スクリーンショット 2019-09-19 20.05.11.png

先ほど追加したCLI Interpreterを選択する

スクリーンショット 2019-09-19 20.05.19.png

以下のように設定されていることを確認し、OKをクリックする。

スクリーンショット 2019-09-19 20.05.31.png

ここまでの設定がうまくいっている方は、

PHPUnitがロードされ、PHPUnit versionが無事表示されるでしょう。

もしそうでなかったら、何かがおかしいです!

これで完了です。


テストを実行する

お好みのテストファイルを開き、

テストを実行します。

^ + R または コード脇の[▶︎] ボタンをクリックとかで実行できます。

スクリーンショット 2019-09-19 20.08.14.png

PhpStorm上でテストが実行できました!


トラブルシュート

何度かうまくいかなかった記憶があるので、

読者のみなさま、つまづいたところがあったら教えてください。


参考


バージョン情報


  • PhpStorm 2019.2.1

  • Laradock v8.0