18 条回复  ·  214 次点击
weiminghuaa 小成 2024-7-11 19:02:43
之前公司从不写单元测试,每次上线战战兢兢。后面在外企,必须写,真的有用,一大堆改动上线,真的就没问题,或者问题真的很少。而且感觉技术真的有进步。
hellwen 小成 2024-7-11 19:58:55
我们用 sonarqube ,其实实际意义不大,好多人为了覆盖率而覆盖率
tangkikodo 小成 2024-7-11 20:05:49
怎么写(单元)测试?

要从可测的思考方式来书写代码, 才有“可能”写测试

在写实现之前,或者实现之后里面套上测试, 否则久了就不会写了

要懂得常用的 mock 第三方接口的方法, 会构造数据整合查询一起测试

知道哪些应该写, 哪些没必要

知道怎么结合 use case 来写

知道怎么结合 hook 在 commit 之前强制测试跑通

知道怎么划分出合适的 service 层并覆盖测试, 避免在应用层写无聊的测试

想到更多了在补充。

关于只在 service 覆盖测试, 应用利用继承和组合避免测试, 可以参考
https://github.com/allmonday/composition-oriented-development-pattern/blob/master/src/services/sprint/readme-cn.md
hhacker 小成 2024-7-11 20:09:22
我只要求 80%的覆盖率, 持续集成的时候, 要求先过单元测试, 再发包.
非常稳健
eudore 小成 2024-7-12 06:17:32
我放 github 的 go 项目,按照单元测试报告一行行改就好了; go 没有 catry 不考虑,只要不是多进程功能基本都可以覆盖到。

在覆盖过程中,一些表达式错误和逻辑不可达都可以发现,简单错误都可以排除,剩下一般都是非代码逻辑错误。
billbur 小成 2024-7-12 09:51:37
有个很实际的问题就是业务不会给你那么多时间去覆盖单测,也许某个时期你能写,但某个时期开始就根本没时间写,然后慢慢的就废弃了。即便你硬着头皮写,你怎么控制住大家不要为了覆盖而覆盖写出一堆没用的东西,人性就这样
lyxxxh2 小成 2024-7-12 10:11:22
我只给复杂的逻辑, 比如订单 支付完成 重要函数写。

不过我的更像是 debug ,后面就不用了。
neroxps 小成 2024-7-12 12:44:08
写什么单元测试?用户有问题会自己反馈 bug 来,用户就是最好的单元测试。 [dog]
supuwoerc 小成 2024-7-12 15:48:08
我都是丢给 ai 帮我写....
12
返回顶部