046、测试用例补充:为遗留代码补测试的 AI 辅助工作流上周五晚上十一点,线上告警响了。一个老模块的定时任务挂了,日志里只有一行“NullPointerException at line 237”。我打开那个文件——三千多行的 Java 类,没有一行单元测试,方法名全是 doProcess、handleData 这种,注释只有“// TODO”。那一刻我意识到,补测试这件事不能再拖了。但给遗留代码写测试,比从零开始写代码痛苦十倍。你不知道哪些逻辑是业务核心,哪些是历史遗留的废代码,更不敢随便 mock 外部依赖——万一 mock 错了,测试通过了也是假的。后来我摸索出一套用 Claude Code 辅助的工作流,今天把踩过的坑和有效的方法写下来。第一步:让 AI 先“读”代码,别急着生成测试很多人上来就扔给 Claude Code 一段代码说“给我写单元测试”,结果生成的测试要么 mock 了一堆不存在的接口,要么断言条件完全跑偏。问题在于 AI 不理解这段代码在业务上下文中的角色。我的做法是:先让 Claude Code 做代码分析,而不是测试生成。把目标方法连同它的调用链、依赖关系一起喂进去,问三个问题:这个方法有哪些执行路径?正常路径、异常路径、边界条件分别是什么?外部依赖(数据库、RPC、缓存)在哪些分支被调用?哪些变量可能为 null,哪些集合可能为空?比如那段三千行的类,我截取了 line 230-250 的片段,加上它