🐴

PhpStorm使用時にPHPUnitをDockerに設定するとエラーを吐く場合どうすればいいですか?

2021/04/18に公開

答え

環境変数に COMPOSE_PROJECT_NAME を設定している場合、PhpStormが使用するdocker-compose系のコマンドの環境変数すべてで使用できるように設定する必要がある。

  1. .env で COMPOSE_PROJECT_NAMEを設定している場合、Run/DebugでDockerを立ち上げようとすると、.envが読み込まれてCOMPOSE_PROJECT_NAMEが設定される。
  2. しかし、PHPUnitの設定をFile | Settings | PHP | Test Frameworksから行い、Run/Debugからテストを行うと、エラーでテストが動作しない。
  3. そこで、CLI Interpretersのダイアログを開き、使用する設定のEnvironment variablesにもCOMPOSE_PROJECT_NAMEを設定する。

PhpStorm 2021.1.1を使用していますが、Use Composer autoloderでautoloader.phpを使用してもPHPUnitが認識されなかったのでPath to phpunit.pharで設定しました。

参考

このFAQは、YouTrackでのやりとりを参考にしました。
https://youtrack.jetbrains.com/issue/WI-59139#focus=Comments-27-4817817.0-0

https://youtrack.jetbrains.com/issue/WI-47028

Discussion