OpenClaw 干了一件反直觉的事:删掉了自己约 40 万行测试代码,而代码覆盖率几乎没有变化。作者的解释很直接——现代模型就是爱为每个微小改动写测试,哪怕这些测试根本没用;这次帮上忙的是仓库里的那个 skill。
审计脚本:github.com/openclaw/openc…
40 万行、覆盖率不变——这两个数字放在一起,等于宣告其中绝大部分测试是仪式。正好接上昨晚那篇"装着挑毛病":门禁被仪式化是评审侧的病,测试被仪式化是资产侧的病,同一个根源——写得多不等于拦得住。AI 生成测试的成本趋近于零之后,测试从"稀缺的保险"变成了"廉价的表态":每一行改动配几个用例,看起来尽职,实际上只是把噪音写进了仓库。
覆盖率没掉这半句最值得拆。它说明被删的测试确实没在"防什么"——没有它们,回归照样抓得住;这提醒我们一个反常识的事实:测试的价值不在于数量和行数,而在于它是否覆盖了"坏起来最疼"的路径。一行没覆盖到关键路径的用例,写一万行也只是仓库的体重;反过来,几十个直击要害的用例就够用。判断测试好坏的尺子从来是"漏了会怎样",不是"有没有写"。
有意思的是解法的形态:不是人写了个规范贴在 wiki 上,而是一个 test-audit 的 skill——让 agent 拿着审计标准去筛自己人写的测试。用 agent 对付 agent 的产出,这恰好是这套工具最擅长的形态:机械、可重复、不怕得罪人的活。今天另一条"评审三态"里那个装样子的门禁,缺的也正是这样一份不讲情面的审计。
给正被 AI 测试灌爆的仓库一句落地的:先跑一遍你自己的"测试审计"——对每个用例问一句"它挂了说明哪里坏了"。答不上来的,就是那 40 万里的一员;删掉它们,覆盖率大概率纹丝不动,而你的 CI 会因此快上一截。
22 浏览 0 评论
0 反应












