DockerでPHPUnitを動かす

Last-modified: Wed, 05 Jul 2017 23:05:31 JST (42d)

PHPStormでDocker内でPHPUnitを動かす方法です。
以下の環境で検証しました。

  • PhpStorm 2017.2 EAP Build #PS-172.3198.4, built on June 27, 2017
  • Windows 10 + Docker for Windows Version 17.06.0-ce-win18 (12627)

Docer for Windowsの設定

  1. Docker for Windowsの設定画面を開き、Expose daemon on tcp://localhost:2375 without TLSにチェックを入れます。
    docker01.jpg
  2. Shared Drivesより、プロジェクトが置いてあるドライブがDockerの共有ドライブに設定されていて、
    マウント可能になっていることを確認します。
    phpunit-02.jpg

PHP Stormの設定

  1. 設定ボタンをクリックします。
    phpunit-01.jpg
  2. 検索窓にdockerと入力します。Build.Exection.Deploymentの下にあるDockerをクリック。右側のウインドウ上部にある「+」をクリックします。
    phpunit-02.jpg
  3. Dockerの設定が入ります。ここでAPI URLをリモートDockerに設定すれば、リモート上のDockerにて動作させることができます。
    ここでは、同一マシンで動いているDocker for Windowsで動かすのでそのままです。
    Virtual machine pathは不要なので、「-」をクリックして消しておきます。
    phpunit-03.jpg
  4. 次に設定の検索窓にphpと入力します。Languages & Frameworksの下にあるPHPをクリックします。
    右側のCLI Interpreterの端にある「…」ボタンをクリックします。
    phpunit-04.jpg
  5. 「+」をクリックし、From Docker. Vagrant. VM Remoteをクリックします。
    phpunit-05.jpg
  6. Dockerにチェックを入れます。Image nameには動作させたいDockerイメージ名を入力します。既にプル済みのイメージがプルダウンで出てきますが、無いものは自動でプルされますので気にせず入れます。
    ここでは公式イメージを入れていますが、実際にはxdebug込みや必要なエクステンションが入ったイメージを指定するほうがよいでしょう。
    phpunit-06.jpg
  7. 自動でイメージがプルされます。
    phpunit-07.jpg
  8. 設定の名前に分かりやすい名前を付けておきます。
    phpunit-08.jpg
  9. 次にPHPUnitの設定を行います。TestFrameworksをクリックし、「+」をクリック。PHPUnit by Remote Interpreterをクリックします。
    phpunit-09.jpg
  10. インタプリタを選択する画面が出るので、先ほど作成した設定を選択します。
    phpunit-10.jpg
  11. Use Composerにチェックを入れます。Dockerコンテナ内では、/opt/projectディレクトリにプロジェクトがマウントされますので、ここではDocker内のパスで設定を行います。
    phpunit-11.jpg
  12. プロジェクトから、phpunit.xml.distを右クリックし、Run phpunit.xml.distをクリック。PHPUnitを走らせます。
    phpunit-12.jpg
  13. PHPUnitがDocker内で動作します。
    phpunit-13.jpg

Counter: 58, today: 1, yesterday: 0

このページの参照回数は、58です。