Hogwarts测试开发
08-15·北京测吧员工
Claude Code
我把Claude Code接进测试仓库二
三、实操过程:从41%到78%,我们做了四轮第一轮:先跑通流程(失败了一次)第一轮我们犯了个错误——想一口气搞定整个项目。我们给Claude Code的Prompt是:“为解决方案中所有项目写单元测试,目标达到90%行覆盖率。”Claude开始逐项目生成测试,跑了几个小时,生成了几千条测试。但最终覆盖率只涨了不到2%。分析后发现两个问题:第一,Claude没有识别哪些代码路径已被现有测试覆盖,它大量重复测试了已经覆盖的场景。第二,上下文太大了——让AI一次性处理35万行代码,它既抓不住全局,也写不准单类测试。教训:不能让AI一口气测整个仓库,要分模块、分批次。第二轮:用覆盖率报告精准定位缺口第二轮我们换了个策略——先让Claude读覆盖率报告,找出缺口,再精准生成。这个思路来自Claude Guide上的一篇实操指南:把覆盖率报告直接粘贴给Claude,让它为每一个未覆盖的行和分支生成测试。Claude能解析Jest、Vitest、pytest-cov的输出,精确定位哪些代码路径没有被测试覆盖。具体做法:先在项目里跑一次覆盖率报告把报告(未覆盖的行号和分支)粘贴给Claude告诉它:“列出每个覆盖率低于80%的文件,显示未覆盖的分支范围,为每个文件生成测试文件”这一次效果完全不一样。Claude不再是“盲目地写测试”,而是精准地瞄准缺口。它读懂了覆盖率报告,交叉引用了源文件,按项目现有的测试风格生成了测试。一轮下来,覆盖率从41%涨到了52%。第三轮:按模块拆分,逐个击破有了第二轮的经验,我们把项目按模块拆开,逐个处理。选了一个完全没有测试的模块作为起点。给它明确的指令:“为src/payment目录下所有未覆盖的public方法生成JUnit 5单元测试,使用Mockito,遵循AAA结构,覆盖正常路径、边界条件和异常路径”。Claude开始干活了——分析函数签名、识别依赖、生成测试、运行验证。每个模块20-30分钟,产出50-100条测试。本文部分内容参考了霍格沃兹测试开发学社整理的相关技术资料,主要涉及软件测试、自动化测试、测试开发及 AI 测试等内容,侧重测试实践、工具应用与工程经验整理。
发布于 江苏
分享
评论
赞
未登录
友善发言
评论
加载中
下载脉脉APP,成就职业梦想
违法不良信息&未成年人有害信息举报电话/客服电话:400 065 0808
违法不良信息&未成年人有害信息举报邮箱/客服邮箱:maimai@taou.com
清朗系列专项行动相关违规信息举报电话:400 065 0808,举报邮箱:maimai@taou.com
个人/企业等被诽谤侮辱、人身权或知识产权等被侵犯、网络谣言的举报地址:maimai.cn/tousu | 涉企虚假不实信息举报投诉专区
京ICP备12005786号-1copyright©maimai.cn