Files
CursorInitGeneral/.cursor/rules/project/godot-testing.mdc

30 lines
1.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: Godot 测试脚本的 headless、隔离、确定性与退出码规范
globs: "**/*test*.gd"
alwaysApply: false
---
# Godot 测试
## 运行原则
- 领域逻辑应能在无窗口、无 UI 和无渲染依赖的环境中验证。
- 运行前按项目声明确定 Godot 版本、可执行文件和测试入口;不假设固定目录、场景名或脚本命名。
- 项目已有测试框架或统一入口时必须复用。没有时采用最小可执行入口;引入第三方框架前遵守依赖确认规则。
- 自动化测试成功返回退出码 0失败返回非零不得仅依赖日志文本判断结果。
- 性能与超时断言应测量被测逻辑本身,避免输出管道、编辑器启动和资源导入污染计时。
## 用例约束
- 每个用例独立设置并清理状态,不依赖执行顺序或前一个用例留下的 autoload、缓存、随机种子和文件。
- 随机、时间和异步流程使用可控种子、可注入时钟或明确超时,避免无限等待。
- 优先断言公开行为、信号参数和持久化结果,不绑定私有实现细节。
- 纯逻辑用例不实例化 UI、3D 或特效场景;只有验证集成边界时才加载必要场景。
- 失败信息包含期望值、实际值和关键实体标识,便于在 headless 日志中定位。
## 变更要求
- 修复缺陷时先补可复现用例,或说明为何无法自动化。
- 新增逻辑系统时覆盖正常路径、边界输入、失败路径和状态重置。
- 数据 schema、存档版本、信号契约或项目配置变化时同步更新相关回归测试。