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」を選択することで実行できます。
失敗したテストを抽出してくれる機能もあるようなのですが、この設定だと出ないようでした。
それでもコードから直接実行できると快適になると思います!

