# testing

> McpTestSuite 测试框架（editor-only）：跑 AI 编写的 GDScript 测试套件（`extends McpTestSuite`，放 `res://tests/` 或 `addons/godot_mcp_server/testing/suites/`）。 run: 发现并运行套件，返回 passed/failed/skipped/total/failures 结构化结果。 manage: op="results_get" 取回上次运行的部分结果（超时/中断后用）。 ⚠️ P2-12 二期：async coroutine 执行，suite 内每 test 后让出主循环（heartbeat 照常 ping），支持长套件（总预算 290s，超时用 suite= 过滤分批）。 ⚠️ editor-only：headless 模式返回 EDITOR_ONLY。需 `GODOT_MCP_MODE=editor` 并安装 Godot 插件。

| 属性 | 值 |
|------|-----|
| 所属层 | headless |
| 安全级别 | safe |
| 需要 Godot | 是 |
| 需要编辑器 | 否 |
| 只读 | 是 |
| 长耗时 | 是 |

## Actions

- `run`
- `manage`

## Parameters

| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `action` | enum (2 项) | ✓ | Action type: run | manage |
| `suite` | string |  | run: 套件名过滤（精确匹配 suite_name()，空=全部） |
| `test_name` | string |  | run: 测试方法名过滤（子串匹配，空=全部） |
| `exclude_test_name` | string |  | run: 排除测试方法（逗号分隔子串列表） |
| `verbose` | boolean |  | run/manage: 返回每条测试详情（默认只返回聚合 + failures） |
| `op` | enum: results_get |  | manage: 操作类型（一期仅 results_get） |
| `project_path` | string |  | Path to Godot project directory（editor 模式可省略，用当前打开的项目） |

## 风险分布

读 2

---
<!-- AUTO-GENERATED by scripts/gen-tool-docs.mjs from capability-matrix.json v0.32.21. DO NOT edit manually; re-run npm run gen:tool-docs after tool changes. -->
