如何写出有效的单元测试?

2023-12-07 17:08:48 +08:00
 DissDoge
1.为什么需要单元测试?
2.什么是有效的单元测试?
3.如何写有效的单元测试?

单元测试需要研发人员设计,但是很少有研发人员设计出合适并且符合测试需求的单元测试来,所以在测试人员的工作过程中,往往采用加大接口测试的广度与深度来让金字塔模型从三角形变为菱形。找不到一个形象的单元测试例子...希望社区大佬就此展开讨论,让小弟吸收下相关知识
2770 次点击
所在节点    程序员
17 条回复
litwater
2023-12-07 17:26:18 +08:00
等 gpt 吧,人太不可靠了
NoDataNoBB
2023-12-07 17:50:11 +08:00
如果你修改了代码,可以通过单元测试快速判断其它地方有没有受到影响
zhazi
2023-12-07 17:59:30 +08:00
现在互联网公司的业务开发很简单,相关配套基础设施很完善,几乎不需要 unit test 来保证质量
但是坚持写单元测试可以提高程序设计,更好的拆分任务,降低代码低耦合度。快速验证想法和 bug 。
tool2d
2023-12-07 18:04:02 +08:00
你看 google 的 gtest ,基本上能保证每一个文件都有一个测试环境,覆盖率极高。

不过我们现在网站开发偏多,API 之类还真不太好写测试。
equationzhao
2023-12-07 18:05:52 +08:00
我也想问, 最近实习看公司代码原来的很多测试都是直接启动一个服务发一个请求看返回值, 有些只是应付 ut coverage 要求的测试
28Sv0ngQfIE7Yloe
2023-12-07 18:16:40 +08:00
不打桩的单测没意义
aragakiyuii
2023-12-07 18:19:56 +08:00
得先写出能写出单元测试的代码
wule61
2023-12-07 18:25:39 +08:00
写单元测试很枯燥,但确实有用
maocat
2023-12-07 18:35:18 +08:00
有用,写一点带一点
Wh1t3zZ
2023-12-07 19:18:11 +08:00
对于中大型项目,有单测后面改代码/重构的时候才敢改,没有单测让我来重构代码没底气啊
PainAndLove
2023-12-07 20:26:15 +08:00
脱离覆盖率,只看单测没有意义
noyidoit
2023-12-07 20:54:11 +08:00
我也想知道,至今看过的单元测试都是 demo 级别,生产级别的只见过集成测试
em70
2023-12-07 20:56:16 +08:00
你是没有 gpt 账号吗
b1t
2023-12-07 22:20:34 +08:00
我也反复查询过单元测试相关的信息,结果是选择早点下班
anjingdexiaocai
2023-12-08 08:05:51 +08:00
我觉得可以写单元测试的代码,之前是合格的…我之前好多代码压根写不了单元测试,所以写单元测试好像还可以反向倒逼你把代码设计得更好
anjingdexiaocai
2023-12-08 08:06:38 +08:00
@anjingdexiaocai 之前 --> 至少代码是合格的
sampeng
2023-12-08 08:27:22 +08:00
停止用 postman 一类工具测 api ,停止自己用网页测试业务,停止先写 api 再写 model ,从下往上写。

然后,你会发现你不写单测试工作质量及低。
然后,你会发现你的单测肯定是 100%覆盖率。

这是我最近的感悟,自测本来就要花时间的,看着很快很便捷,但在整个开发周期里面时间也是很可观的。还不如写单测。在单元开发周期里面总时间是不变的,带来的结果也是很可观的,不怕改代码。不怕改业务。设计有限,各种打桩和 mock 假数据。


当然,完全不自测,指望测试团队兜底不在讨论范围内

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/998427

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX