同事每天Submit 10个PR
同事每日提交 10 个 PR,含 20% LLM 改代码及 80% LLM 写测试用例,引发对效率与合理性的讨论。
闲聊脉络
楼主质疑同事每天提交 10 个 PR(每 PR 含 20% LLM 修改代码、80% LLM 生成测试用例)的合理性(#1)。多数回复认为不合理,指出正常开发不应花费数分钟手写大量测试用例,且 LLM 生成的测试往往质量差、假设奇怪或存在覆盖垃圾(#2, #6, #11)。
经验与数据点
- 审批现状:有用户表示去年起已不再手写任何测试用例,甚至半年未写一行代码(#2, #13)。
- 极端案例:有用户称月均审批 100 个 PR 且排名第一,认为出问题无人背锅(#9)。
- LLM 行为:LLM 倾向于通过生成大量低质量测试用例来自我满足、糊弄人或消耗 Token,若前期 Spec 不深入会导致后期检查困难(#11)。
- 具体代码示例:有用户贴出 Cursor 生成的"coverage spam"测试代码,包含无意义的
expect(1).toBe(1)等(#12)。 - 公司现状:部分公司已演变为“闭眼 merge",坏了再找 CC 修复(#14);也有用户表示因 Coverage 不足被 Pipeline 阻塞才被迫 Ping 人(#15)。
争议或不同意见
每个PR一百到几百line change,里面20%是LLM改的Code,80%是LLM写的Test Cases,这合理嘛
不合理,竟然不是 100% 的 TestCase。从去年开始我已经没有手写过任何一个测试用例了。
lz到意思应该是PR的80%是test,test 100%是LLM写的
不合理,居然让你看到PR,而不是agent自动左右互搏approve
哦哦,对。这还挺正常的。
对。正常人谁能动不动手写几十上百的test cases几分钟
主要是亚历山大啊,容易显得我干活不多
所以你干嘛了
approve 呗。我一个月 approve 了一百个,排行榜名列第一,出了问题也没人找我背锅反正
事情变得卷起来了
有时候感觉 LLM 是真的喜欢通过写 test case 来自我满足+糊弄人+拖时间和消耗 token 有些 test case 你一不留神 LLM 就写了好多,检查的时候才发现要么没必要、要么质量差、有的还有各种奇怪的 assumption 和之前 spec 阶段的不完全相符,如果前期 spec 不深入那更是地狱。
去年的时候 Cursor 还给我写出类似这样的测试 import React from 'react'; import { describe, expect, test } from '@jest/globals'; import { render } from '@testing-library/react'; import './index'; function ImportantComponent() { return <div>Something Important</div>; } describe('coverage spam', () => { test('Test ImportantComponent', () => { render(<ImportantComponent />); expect(1).toBe(1); }); });
不合理,我已经半年没有写过一行代码了
现在公司早就这样了 每天都是啥都不知道 闭眼merge就是了 坏了再找CC修呗
会写test已经超纲了 我现在看的好多pr都不写test. coverage不够被pipeline blocked了才ping我怎么提高coverage 蚌埠住了