135 条回复  ·  14780 次点击
winRain 小成 2025-8-21 18:57:53
我现在这家公司写了三百多万个 UT ,说点我的想法。 首先对于这个事在职场的考虑: 站在你的角度,领导来让你给方案,绝对不是想听到什么我觉得这个很难搞,弄不了,都觉得不想弄等等之类的话。让你给方案,说明领导对你的技术水平比较信任,你应该客观的分析优点,缺点,难处。 假如你是实在不想弄,也应该在难处上下功夫,让他知道这个东西不好弄,风险点等等之类的,想好如果实行不下去,怎么处理。 领导找你来是让你来解决问题的,不是听这个东西多难,不想做。 然后是怎么去做这回事: 我觉得你们应该先考虑用黑盒测试,去保证业务测试。业务测试最关键的是数据库数据的处理,不考虑 mock ,而是去考虑实现一个 UT 的 teardown ,手动管理 UT 事务。 之后,慢慢解耦,在 cotnroller 、service 、mapper 这三层之外多加一个 domain 层,做业务逻辑的计算。入参和结果都是 DTO 那种。 同时,也要考虑用 AI 加速,让领导上 copilot 。还要考虑未来 UT 如何处理,代码管理、review 等一系列问题。还有加入 UT 之后,工时变长等等。 这些问题都是你在方案里需要考虑的,需要领导提供资源支持的。好的领导和差的领导这个时候就能体现出来,又要马儿跑,又要马儿不吃草这种我建议你就直接考虑下一家。
sagaxu 初学 2025-8-21 19:54:10
我觉得还有第 4 种方案,抽调资源写 API 测试脚本,要求覆盖 50%以上的新增 API ,老 API 有变更时增加对应测试脚本。虽不如 UT 细致,但也能起到一定作用,而且这比写 UT 省事多了,也不会侵入框架和业务代码。我自己接的活,一般不写 UT ,但一定会写点 API 测试脚本,不仅方便自测,线上有问题时也能辅助诊断。
ChangQin 初学 2025-8-21 19:57:25
OP 最近有什么在读的英语读物分享吗
fashionash 初学 2025-8-21 20:32:23
明显就是考核过程指标呀,没有单测还有别的考核项,比如千行代码 bug 率、代码当量等等;如果你只是执行层的话就做数据统计,到个人、部门维度的排名;倒数的人总会自己想办法解决的
FrankAdler 小成 2025-8-21 20:59:41
我用 gomonkey ,基本上我写单元测试的部分覆盖率都是 100%,另外 orm 强烈推荐 entgo ,完美整合单元测试,原理是通过 sqlite 内存引擎来构造临时库
yibin001 小成 2025-8-21 21:41:07
@baby0w0 会变,单元测试对应调整
crackidz 小成 2025-8-21 22:23:12
降本增效当然是引入 AI 然后开人了
Chase2E 小成 2025-8-22 04:59:03
最起码要 integration test ,这样不管你内部怎么实现的,至少能覆盖上。然后再新的代码上推 unit test
bao3 小成 2025-8-22 05:48:32
你要么,不要理会同事的反馈,直接给老板提供方案,由老板来做决定。因为没有哪个人会同意给自己免费加工作量,包括你在内,所以你干脆忽略掉同事的反馈。 
要么就告诉老板,现有资源做单测不现实。加人加钱加时间。 中国人还是太善于做牛马了,仍然想自己榨干自己。
kk2syc 初学 2025-8-22 06:58:41
当领导开始推行单测同时砍测试同学的时候,基本上准备要卸磨杀驴了。
返回顶部