基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
编程提效2026-10-31 05:18

撤销修复再跑测试,检查AI补丁是否被覆盖

dev.to · AI#AI编程#测试#代码审查
Editor brief · 编辑速览

文章提出审查AI生成补丁的方法:逆转修复后重跑测试,若仍全部通过,说明测试未能检测该修复的缺失。示例脚本使用独立Git worktree执行检查,并区分检测到变化、未检测到变化和检查失败。

文章思维导图
Knowledge map
拖拽缩放
AI brief

原文暂未完整获取,基于公开信息的快读

AI 生成的补丁通过测试,能证明它修好了问题吗?dev.to 的一篇文章提出反向检查:撤销修复,再跑测试,看看测试是否会失败。这个办法能帮助识别「测试全绿,却没覆盖修复行为」的情况。不过,节选中的示例脚本有执行目录问题,直接照用可能得出错误结论。

目前能确认什么

作者提出的核心问题是:拿掉这次修复,测试能否察觉?

示例脚本创建独立的 Git worktree,在其中反向应用指定提交。worktree 可以让同一个仓库拥有独立的工作目录,适合执行这类临时检查。脚本还用退出码区分三种结果:测试发现变化、撤销后仍然通过,以及检查无法执行。

但这段脚本没有切换到临时 worktree 再运行测试。

代码里的 Git 操作通过 git -C "$WT" 指定了目录,最后的 $TESTCMD 却仍在调用脚本的目录执行。按默认的 npm test 用法,它可能测试的是原工作目录,而非撤销修复后的代码。

节选还提出另外三个审查方向:评测集是否包含触发修复的案例、补丁新增了哪些能力,以及判断输出的测试与评测框架是否可靠。

我的判断

这个方法适合给 bug 修复补一道验证:先确认修复后的测试通过,再只撤销实现,保留对应的回归测试,观察目标断言是否失败。

撤销后变红,也不能直接证明测试有效。

依赖缺失、环境异常、编译失败,都可能让命令返回失败;示例脚本会把这些情况一起算作「检测到变化」。如果提交同时包含实现和测试,整体反向应用还可能把新增测试一起删掉,影响判断。

对程序员而言,值得采用的是这套反向验证思路。至于脚本能否用于 PR 检查,还需要核对测试目录、撤销范围和失败原因。当前节选没有交代完整文章是否补齐了这些处理,不能把它当作已经可靠的审查工具。

Original source

本文由 AI 基于公开信息编写,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
用AI迁移老Java系统,先守住业务行为
下一篇
Cursor上Anthropic扩展遭植入后门近12小时

资讯速览

dev.to · AI · 2026-10-31 05:18

AI 评分 8.0 / 10

相关标签

#AI编程#测试#代码审查

继续阅读

  • 用Go与DORA指标衡量编程代理交付效果
  • 用AI迁移老Java系统,先守住业务行为
  • Cursor上Anthropic扩展遭植入后门近12小时
  • 让编程代理统一三端文案与翻译键
  • 重排器微调零提升,实验能说明什么