最近正在给公司 10 万+行代码的项目补单元测试&重构,这个是已经开发了 1 年的项目,功能模块比较多,代码文件也有 700 多个。v2 上搜了搜似乎没人讨论过这个话题,所以想了解一下大家是否做过类似的工作,有没有经验可以分享一下。
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Go 727 17968 12114 125945
1
FrankFang128 21 天前
AI 擅长做这个
|
2
matrix1010 OP @FrankFang128 这是想象还是实际经验?有没有实际开源项目或者 blog 可以参考。或者说 AI 是否能处理复杂依赖 mock ,复杂逻辑理解(大于 100 行代码的单个函数)
|
3
FrankFang128 21 天前
实际经验
|
4
COW 21 天前
如果不是 tdd ,补单元测试感觉意义不大,还浪费时间。
|
5
XXWHCA 21 天前
意义何在呢?为了 KPI 吗?
没有动的地方补单元测试有什么意义呢,它已经正常工作了,虽然可能会有 bug 。 既然重构,那就把重构的部分进行单元测试就可以了 |
6
orioleq 21 天前 via iPhone
AI 可以帮你做掉 80%
|
7
kristofer 21 天前
你主要的问题在哪呢,你想听哪方面的经验?
补自动化测试的目的是什么,是 KPI 吗,只追求单测覆盖率还是质量与覆盖率两手抓? 使用 AI 可以帮助你提升速度,但是想 AI 生成完直接用,那是不可能的,还是需要自己改改的。 这个也没啥经验可以分享呀,时间是必须的,所需时间的长短取决于对单测质量的要求。 一般都是对新代码或改动的代码追加单测,老代码不动。 |
8
RandomJoke 21 天前
要重构的情况,感觉单测意义不大啊,后端的话不如补点 API 端的集成测试,然后重构中写单测
|
9
kelololy 21 天前 1
我补充过,
背景: 增加云效上 junit 的覆盖率(公司 kpi),分别是 dao 和 service 层的覆盖,使用的 junit 单测和 mock ; 过程:老项目,代码逻辑负责,mock 的编写和后续维护都耗费时间和精力 结果:随着公司业务不好,kpi 名存实亡 |
11
hxzhouh1 21 天前
我正在经历一个项目补单侧,规模比你小点,目前 go test cover 已经 85%了。
1.交给 AI , 2.能 mock 的都 mock 。 --- 其实约等于糊弄鬼 |
12
matrix1010 OP @kelololy 我其实感兴趣的是过程,比如 code base 规模多大,多少人参与,什么级别的人牵头,大家配合度怎么样,花了多长时间达到了什么目标等等。不同的公司产品不同,面向对象也不同,所以是不是 kpi ,要不要做这类的问题因人/公司/产品而异
|
13
jones2000 21 天前
先补测试用例文档
|
15
fredweili 20 天前
跑 jacoco ,哪些最缺补哪里
|
16
orioleq 20 天前 via iPhone
为了大规模重构,难道不是搞自动化的集成测试更重要? 单元测试大都是为了覆盖率和 kpi 吧。
这种需要业务梳理的测试用例,似乎 AI 也发挥不了太大用处 |
17
kelololy 20 天前 1
@matrix1010 这些问题不太清楚,因为不同项目的开发人员不一样,牵头是 leader 指派一个开发做调研,整个是摸索着前进,我记得是半年内,达到覆盖率 20%;
|