WEBOPIXEL

VSCodeからDockerコンテナ内のPHPUnitを実行する方法

Posted: 2022.02.05 / Category: PHP, 開発環境 / Tag: 

VSCodeでPHPUnit(そのまま!)という拡張機能を使用してDockerコンテナ内のPHPUnitを実行する方法をご紹介します。

Sponsored Link
VSCodeで使用する拡張機能はこちらです。
PHPUnit

ファイル構成

.vscode
└ settings.json
docker
└ Dockerを構築するファイル
html
├ vendor
├ tests
│ └ SampleTest.php
└ index.php
docker-compose.yml

docker-compose.yml

「/var/www/html」を「/html」にマウントしています。

docker-compose.yml

version: "3"

services:
  web:
    container_name: php
    build:
      context: ./
      dockerfile: ./docker/web/Dockerfile
    ports:
      - 8080:80
    volumes:
      - ./html:/var/www/html

拡張機能の設定

通常は必要ありませんが、コンテナ内を実行しようとすると拡張機能の設定が必要になります。
phpunit.commandはdockerのコマンドを記述します。PHPはコンテナ名なので環境によって書き換えてください。
phpunit.phpunitはPHPUnitのパス。
phpunit.pathsでホストのパスをコンテナのパスに書き換えます。

.vscode/settings.json

{
	"phpunit.command": "docker exec php",
	"phpunit.phpunit": "vendor/bin/phpunit",
	"phpunit.paths": {
		"/html": "var/www/html",
		"${workspaceFolder}": "/"
	}
}

これで設定は完了です。
この拡張はコマンドパレットから「PHPUnit test」を選択することで実行できます。
失敗したテストを抽出してくれる機能もあるようなのですが、この設定だと出ないようでした。
それでもコードから直接実行できると快適になると思います!

LEAVE A REPLY

コードを書く場合は<pre>で囲んでください。