用途:当缺陷出现在执行链深处(例如 git init 在错误目录执行、文件创建在错误位置、数据库以错误路径打开),trace 指导开发者沿调用栈逆向回溯,找到原始触发条件后在源头修复。
主要能力:
- 逆向追踪调用链:从报错点逐层向上,确认每一层传入的值与调用者,直到定位最初产生错误数据的位置。
- 补充堆栈信息:无法手工追踪时,可在危险操作前插入调试代码,记录目录、cwd、环境变量、时间戳与 new Error().stack。在测试中使用 console.error() 而非 logger,因为 logger 可能被抑制。可运行 npm test 2>&1 | grep 'DEBUG git init' 捕获输出。
- 源头修复与纵深防御:在源头修正后,可在各层增加校验,例如参数校验、非空校验、环境守卫与操作前堆栈记录。
- 修复后验证:对复杂算法、业务逻辑、数据转换和关键路径编写确定性单元测试;UI 组件、React hooks、简单 CRUD 等可跳过,改用类型检查、lint 或人工验证。只做确定性单元测试,不做集成测试、复杂 mock 或异步测试。
适用场景:错误发生在非入口处、堆栈显示长调用链、无效数据来源不明、需要找出哪个测试或代码触发问题。
限制:资料未提供具体安装方式、配置项、平台支持范围或收费信息;给出的示例、命令与流程来自公开介绍,实际使用需结合所在项目环境。