dev.to | 📄 原文链接 | 2026-09-12 收录

AI 生成的测试会让编码 agent 更糟:怎么检查你自己的测试

来源:dev.to — 2026-09-11

📋 概述

一个订单筛选函数有三条需求:不传或传 None 时返回全部、传空列表时返回空、传状态列表时只返回匹配项。报出的 bug 是不传筛选条件时返回了空,于是出现了一版看起来很合理的修复:statuses 为假值就返回全部订单。两条断言全过,if 的两个分支都被覆盖,症状也消失了——但第三条需求被悄悄破坏,因为 Python 里 None 和空列表同为假值,而这三条需求给它们的语义完全不同。作者引用 9 月 8 日的 ExecCritic 预印本:固定修复 agent 不变,把反馈换成较弱的生成测试后,SWE-bench Verified 解决率从 61.2% 掉到 57.3%,而换成更强的测试模型则升到 65.3%。

🔑 核心要点

💡 金句

A bug fix can make every new test pass and still introduce a regression.
← 返回 dev.to 首页