用途:当 TUI 需要可靠测试,或交互式终端缺陷需在人工终端会话之外复现时使用本技能。
主要能力:提供四层测试策略。一是纯状态测试,不依赖终端,测试 reducer、更新函数、焦点切换、校验、排序、过滤与命令调度;二是组件/渲染快照,在固定宽高、主题、颜色级别、区域设置与时间下渲染控件,比较稳定文本或单元格网格;三是虚拟终端测试,把 ANSI 输出送入终端模拟器,断言最终单元格、光标、样式、回滚缓冲与清理;四是 PTY 集成测试,启动真实程序,发送按键、粘贴、调整尺寸,断言可见行为与退出状态。
快照稳定化:冻结或规范化终端尺寸、主题与颜色支持、时间、随机 ID、网络数据、加载动画、光标闪烁、Unicode 模式与歧义宽度假设、跨平台文件路径、进度速率与异步调度。行为优先用语义断言,稳定视觉契约用快照。
调试流程:用最小终端尺寸和输入序列复现;怀疑协议行为时捕获原始输入输出字节;分离 stdout、stderr、日志与备用屏幕输出;关闭动画和颜色以隔离布局与样式;必要时在 tmux/screen/SSH 内外分别测试;声称支持 Windows 时通过 ConPTY 测试。
CI 规则:不要假设 CI 有真实 TTY;集成测试需要终端行为时使用 PTY 包装器;显式标记终端模拟器专属测试;保持快照确定且可审查;失败时把日志和最终终端帧作为产物保存。
常见失败模式:快照抖动多因时间、加载动画、随机数据、终端宽度,应冻结输入并规范化输出;手动可用但 CI 失败多因无 TTY 或 TERM 不同,应创建 PTY 或使用非 TUI 模式;仅 Windows 失败多因 Unix PTY 假设,应通过 ConPTY 测试并处理行尾;原始字节不同但屏幕相同,应断言虚拟终端状态而非测试序列;调试日志破坏 UI,应把日志写入文件或面板。
参考文件:references/test-strategy.md 按生态说明测试层、工具与断言;references/debugging-playbook.md 涵盖字节捕获、终端重置、CI、Windows 与抖动排查。
限制:资料未提供具体安装命令、支持平台清单、收费方式或性能数据,暂未提供。