テスト
MCP for Unityには大きく3種類の検証があります。変更した層に対応するものをpush前に実行します。
Python test
場所: Server/tests/
cd Server
uv run pytest tests/ -v
# 1 file
uv run pytest tests/test_manage_material.py -v
# name pattern
uv run pytest tests/ -k "test_create_material" -v
新しいmanage_<domain>を追加する場合は、既存testを参考にServer/tests/test_manage_<domain>.pyを追加します。
Unity test
場所: TestProjects/UnityMCPTests/Assets/Tests/
UnityでTestProjects/UnityMCPTestsを開き、Window → General → Test RunnerからEditMode / PlayMode testを実行できます。
C# toolを追加した場合は、対応するEditMode testを既存asmdef配下へ追加します。
local headless harness
CIと同じ入口でbridgeを起動し、smoke / EditMode / PlayModeを実行できます。
python tools/local_harness.py
主なoption:
python tools/local_harness.py --legs smoke,editmode
python tools/local_harness.py --reuse
python tools/local_harness.py --keep-alive
python tools/local_harness.py --no-warmup
exit codeはsetup failure、compile failure、license不足などを区別します。正確なcontractはtools/local_harness.pyを正本として確認します。
複数Unity versionのcompile check
tools/check-unity-versions.sh
tools/check-unity-versions.sh --full
Windows:
pwsh .\tools\check-unity-versions.ps1
pwsh .\tools\check-unity-versions.ps1 -Full
matrixはtools/unity-versions.jsonです。compatibility shimや#if UNITY_*_OR_NEWERを変更した場合は特に重要です。
Git hook
tools/install-hooks.sh
Unity関連pathを変更したpushではversion checkを実行します。またserver tool/resource registryの変更時にはreference docsの再生成も支援します。
generated referenceの検証
cd Server
uv run python ../tools/generate_docs_reference.py
git diff --exit-code ../website/docs/reference
CIではgenerated referenceとregistryのdriftを検出します。自動生成範囲は手書きで修正しません。
主なCI
python-tests.yml— Python testunity-tests.yml— Unity test / version matrixdocs-deploy.yml— Docusaurus buildとPages deploydocs-generate.yml— generated referenceのdrift check
workflow名やmatrixは変更される可能性があるため、最終的な正本は.github/workflows/とtools/unity-versions.jsonです。