Documentation
README
测试生成器
工作流程
1. 读取真实契约
检查目标代码及其:
- 类型定义、公开文档、调用方和错误处理路径。
- 现有测试、fixture、测试配置、依赖清单和项目测试命令。
- 输入输出、副作用、状态变化、并发语义和系统边界。
- 适用的仓库规则、Git 状态及本轮允许修改的范围。
区分“代码当前行为”和“产品期望行为”。两者冲突或契约不明确且会改变断言时,先列出证据与待确认假设;不要用测试固化猜测。
2. 选择测试层级
- 纯逻辑优先使用快速、确定的单元测试。
- 在系统边界隔离时间、随机数、文件系统、网络或第三方服务,避免 mock 被测模块的内部实现。
- 需要验证真实组件协作时使用集成测试,可采用临时目录、测试数据库或受控服务,并确保资源隔离和清理。
- 修复缺陷时先写能复现真实问题的最小回归用例,再验证修复。
只覆盖契约或可达路径中真实存在的正常、边界与失败场景。空值、类型错误、超时和数据库异常不是每个函数的固定要求。
3. 设计用例
每个用例应说明:
- 对应的契约、缺陷或分支。
- 输入与环境安排。
- 可观察结果,而非内部实现细节。
- 必要的清理和跨用例隔离。
优先参数化重复场景,并沿用仓库现有的测试命名、目录、fixture 和断言风格。不要因项目面向中文用户而强制使用中文函数名。
4. 实现最小测试
- 只修改目标测试文件和确有必要的 fixture。
- 不为了让测试通过而随意修改生产代码;若发现产品缺陷,单独报告或按用户要求修复。
- 不复制未经核实的示例期望值,也不把实现细节写成永久契约。
- Windows 与 Linux 使用路径 API、系统临时目录和显式编码,不硬编码分隔符、
/tmp、换行、大小写、时区或 locale 行为。
5. 运行与复验
This is the opening of the README. Read the full README on GitHub.