はじめに
以下のような環境で PHPUnit をステップ実行する手順を記載します。似たような情報はいくつか見つかったのですが、ローカルとリモートのフォルダ構成が異なる場合に設定が必要な Path Mappings のところが書いてなかったり、UI が少し違っていたりました。誰かのお役に立てば幸いです。
- macOS Sierra
- PHPSTORM 2016.3.2
- PHP 7.1.1
- PHPUnit 5.7.9
- vagrant (リモートデバッグ)
手順
-
Preferences>Build, Execution, Deployment>Deployで+を押します。Add Server画面でnameを vagrant、typeをSFTPに設定してOK。 -
Connectionタブに vagrant との接続設定を書きます。Connectionタブはこんな感じになると思います。
-
Mappingタブはこんな感じになると思います。
-
PreferencesのLanguages & Freamworks>PHPにCLI Interpreterという項目があり、この...を押します。CLI Interpretersという画面がポップアップするので、+を押してRemote...を追加します。Vagrant を選び、接続情報を入力し、OK。
- さらに
OKを押して、CLI InterpretersにRemote PHP 7.1がセットされたことを確認してOK。
-
Path mappingsの...をクリックしてEdit Project Path Mappingsを開きます。 -
+を押して列を追加し、Local PathとRemote Path配下のフォルダ構成が一致するようにそれぞれのパスを設定します。
-
PreferencesのLanguages & Freamworks>PHP>PHPUnitで+。プルダウンが出るのでBy Remote Interpreterを選びます。下記のように設定してOK。
テスト実行
-
Edit Configurations ...をクリックし、Run/Debug Configurations を開きます。
-
+を押し、PHPUnitをクリックし、以下のように設定します。Fileはテストコード (xxxTest.php など) を指定します。なぜかFileを二回指定しないとClassに文字列が入ってこない現象が頻発しています。同じ現象が発生した場合は再度Fileから同じファイルを指定してみてください。
以上です。
