PHPUnit & Pest Test Explorer VS Code 擴充套件的 Monorepo。
| 套件 | 說明 |
|---|---|
packages/phpunit |
@vscode-phpunit/phpunit — PHPUnit/Pest 解析器、執行工具與 tree-sitter 工具。使用 tsup 建置(ESM + CJS)。 |
packages/extension |
VS Code 擴充套件 — PHPUnit & Pest 的 Test Explorer 整合。使用 esbuild 打包。依賴 @vscode-phpunit/phpunit。 |
核心函式庫,負責解析 PHPUnit/Pest 測試檔案(透過 tree-sitter WASM)、建構命令列、處理測試輸出。以 @vscode-phpunit/phpunit 發佈。
- 建置:
tsup輸出 ESM/CJS 到dist/,並複製tree-sitter.wasm/tree-sitter-php.wasm到dist/。 - 測試:Vitest
VS Code 擴充套件,整合原生 Test Explorer UI。以 dev dependency 方式引用 @vscode-phpunit/phpunit;esbuild 將所有程式碼打包為單一 dist/extension.js。
- 建置:
esbuild打包至dist/extension.js,並從node_modules/@vscode/tree-sitter-wasm/wasm/複製 WASM 檔到dist/。 - 測試:Vitest(單元測試)+
@vscode/test-electron(e2e) - 打包:
@vscode/vsce產出.vsix
pnpm install# 編譯所有套件(phpunit tsup + extension esbuild)
pnpm compile
# 執行所有單元測試
pnpm test
# 執行 e2e 測試(僅 extension)
pnpm test:e2e
# Lint
pnpm lint
# 型別檢查
pnpm typecheck
# Extension 正式建置(壓縮)
pnpm package
# 產出 .vsix 檔案
cd packages/extension && pnpm exec vsce package --no-dependencies專案在 .vscode/launch.json 中提供啟動設定:
| 設定 | 說明 |
|---|---|
| Run Extension | 以本地 phpunit-stub 專案開啟 |
| Run Extension (Multi-Workspace) | 開啟多資料夾工作區(本地) |
| Run Extension (Docker Multi-Workspace) | 開啟在 Docker 中執行的多資料夾工作區 |
-
啟動共用容器:
cd packages/phpunit/tests/fixtures/workspaces docker compose up -d --build -
在偵錯面板選擇 Run Extension (Docker Multi-Workspace) 並按
F5。 -
停止容器:
docker compose down