news 2026/10/29 21:52:13

046、测试用例补充:为遗留代码补测试的 AI 辅助工作流

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
046、测试用例补充:为遗留代码补测试的 AI 辅助工作流

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 的片段,加上它

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/28 13:19:41

LLM与遗传算法融合:实现机器学习工作流的自主进化与优化

1. 项目概述:当LLM遇见遗传算法,一场工作流的“自主进化”最近在搞一个挺有意思的项目,核心是把大语言模型(LLM)和遗传算法(GA)揉在一起,搞出了一个能自己“进化”的机器学习工作流系…

作者头像 李华
网站建设 2026/10/28 13:17:52

0621晨间日记

# 0621晨间日记 - 关键词 - 上午- 运动- 踢腿真是累人- 虽然每周都练, 但是还是很累- - 吃饭- 一碗稀饭- 昨天晚上自己做的饭,做的太多了- 调试便携显示器- 新的显示器到了- 本以为可以typec就可以,原来电脑是不支持的- 最终hdmi线进行了连接…

作者头像 李华
网站建设 2026/10/28 13:41:12

D2DX终极指南:三步让《暗黑破坏神2》在现代Windows上焕发新生

D2DX终极指南:三步让《暗黑破坏神2》在现代Windows上焕发新生 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx D2…

作者头像 李华
网站建设 2026/10/28 15:29:28

如何高效解密NCM音频:专业开发者的ncmdumpGUI实战指南

如何高效解密NCM音频:专业开发者的ncmdumpGUI实战指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 想要在任意播放器上享受网易云音乐的加密NCM…

作者头像 李华
网站建设 2026/10/28 15:12:57

高维空间余弦相似度:原理、应用与优化

1. 高维空间中的余弦相似度:从数学原理到工程实践在自然语言处理和信息检索领域,我们经常需要量化两个文本片段之间的相似性。想象一下,当你使用搜索引擎时,系统如何从海量文档中快速找到与你的查询最相关的结果?这背后…

作者头像 李华