支持单元测试的观点:
票数:11
反对或持保留态度的观点:
票数:8
其他相关点:
票数:1
结论: 大部分的观点(约 58%)倾向于前端开发应进行单元测试,尤其是在有相关工具和框架的支持下。但约 42% 的观点认为,是否写单元测试取决于项目的需求、迭代速度、公司或团队的文化和规范。总体上,单元测试在前端开发中仍是一个重要话题。
顺便,总结下大家提到的哪些是应该写单元测试的,哪些部分没必要写单元测试?
从上述回答中,我们可以提取以下关于在哪些部分应该进行前端单元测试和在哪些部分可能没有必要的观点:
应该写单元测试的部分:
可能没必要写单元测试的部分:
这些观点可以为开发人员提供指导,但具体是否编写单元测试还需根据实际项目、团队和公司的需求和文化来决定。
1
gouflv 2023-08-19 13:59:19 +08:00 via iPhone
学一下又不会吃亏
|
2
jokyme 2023-08-19 14:15:59 +08:00 via iPhone
有,要写单元测试加 E2E 测试,不然 code review 不给过
|
3
zcf0508 2023-08-19 14:18:52 +08:00 via Android
开始写了,感觉很好,现在 ai 可以生成测试了,然后自己补充一点测试用例把覆盖率上 90%,有一种踏实感
|
4
doommm 2023-08-19 14:29:51 +08:00 3
我觉得比单元测试更难的是如何写出可测试的代码
|
5
liveoppo 2023-08-19 15:56:14 +08:00
如果涉及算法,要写
如果只是界面显示,我个人认为意义不大 |
6
z1645444 2023-08-19 17:01:58 +08:00
同 #2 ,要测试的代码大部分都是公司核心支撑的代码,有一些外包的活的代码那真的是五花八门了,毕竟最后只要给一套能用的静态页给人部署上就好
|
7
qping 2023-08-19 17:09:53 +08:00
要写,每一个文件,每一个公共方法都要写
|
9
danhua 2023-08-19 17:51:34 +08:00 1
写公共组件会写单元测试,写业务逻辑页面不写。公司内部情况是用户是天,可能今天你写的页面,第二天就要修改。写单元测试根本忙不过来。
|
10
dream4ever 2023-08-19 18:03:11 +08:00 1
刚好在看之前有人发在 V2EX 的 Jest 测试教程 https://github.yanhaixiang.com/jest-tutorial/ ,感兴趣的话可以看看
|
11
yidadaa 2023-08-19 18:13:07 +08:00 5
我们团队一直在践行 BDD 实践,最大的经验就是,写测试套件要比写测试本身更重要,如果你想在团队内部推行 TDD/BDD 规范,最好花一些时间先把测试框架搭起来,很多前端代码的可测试性都很差,因为 js 比较灵活,外部依赖非常松散,导致你想对某个组件写测试,必须要 mock 一大堆东西,可能大部分时间都在折腾 mock 外部依赖,所以如果你有能力树立起团队的开发规范,收缩组件的外部依赖,并且提供统一的测试套件,这样团队成员其实是很有动力写测试代码的。
|
12
estk 2023-08-19 18:22:58 +08:00
迭代更改太快,来不及写
|
13
plasticman64 2023-08-19 19:06:03 +08:00
我记得我进公司的时候,技术主管跟我说,写完代码放心提交,这么多测试有 bug 会跟你说的
|
14
streamrx 2023-08-19 19:13:27 +08:00 via iPhone
怎么测 各种界面也要写测试嘛
|
15
jiangshanmeta 2023-08-19 20:56:43 +08:00
我这单元测试覆盖率小于 80% pipeline 不给过的
|
16
gyt95 2023-08-20 00:08:23 +08:00 1
曾经很想搭一套测试出来,包含单元测试和集成测试。后来发现,只有针对部分组件的单元测试是可行的,集成测试根本不行。因为需求几乎一天一个样。老板就是要快。
|
17
prenwang 2023-08-20 01:07:14 +08:00
单元测试最终是 AI 的天下
|
18
molvqingtai 2023-08-20 01:08:19 +08:00
自己项目写,公司项目不写
|
19
misaka 2023-08-20 01:12:36 +08:00
项目时间规划里有就写,领导同意就写,要不写了还会被怪罪浪费开发时间
|
20
jsq2627 2023-08-20 01:20:45 +08:00 via iPhone
以前不写,后来在一家外企尝到单元测试的甜头后,现在一定要写,还鼓励同事去写。
|
21
jsq2627 2023-08-20 01:22:26 +08:00 via iPhone
就像楼上说的,测试套件做的足够好之后,平时写单元测试并不会花很多时间
|
22
iLtc 2023-08-20 12:55:31 +08:00
我们的项目要求写,如果没有对应的测试,PR 是会被直接拒绝的
|
23
tediorelee 2023-08-20 14:43:58 +08:00 via iPhone
要写,branch 覆盖率 96%,function 覆盖率 95%,不然合不了代码
|
24
fresco 2023-08-20 19:58:00 +08:00 via Android
前端 UI 部分没必要写
|
25
lwsys 2023-08-20 21:07:13 +08:00
如果是基建类型的东西,比如 sdk ,私有的 npm 包,基础的业务组件可以写,纯粹的业务逻辑,需求没必要写。
|
26
crazyTanuki 2023-08-21 09:48:20 +08:00
钱多就写一下,钱少就不写,看公司,因地制宜
|
27
intmax2147483647 2023-08-21 11:49:30 +08:00
我就说一句:不写单元测试的公司和程序员都是垃圾, 单测覆盖率非 100%的对技术和高效率生产力以及团队协作毫无追求不服来辩。
不针对贴主,针对在座的所有人。 |
28
lscexpress 2023-08-21 12:55:17 +08:00
@intmax2147483647 单元测试的概念最早是 1970 年提出的,之前的代码都是垃圾?
|
29
CHTuring 2023-08-21 13:26:00 +08:00
1 、写组件的还是得写的,业务还写单元测试我是拒绝的,毕竟 TypeScript 感觉足够了
2 、比起写「单元测试」,难的是怎么写好单元测试 3 、但是如果有这个习惯,虽然麻烦点,还是收益是很高的 |
30
kwanzaa 2023-08-25 08:38:15 +08:00
有需要就写,仅论测试肯定是要全覆盖的。
|
31
intmax2147483647 2023-08-28 18:10:03 +08:00
@lscexpress 人家那会怎么写代码 你这会儿怎么写代码? 况且没有提出单元测试也不代表当时的人就能写出没有 BUG 的代码?
你用单元测试提出的时间来辩让我觉得你愚蠢至极。 之所以提出单元测试这个概念就是为了减少编码过程中出现的错误并且良好且完善的单元测试可以让系统更健壮可维护。 |
32
lscexpress 2023-08-30 10:22:04 +08:00
@intmax2147483647 那你为什么不早说?而是只说不写单元测试是垃圾,我说了之前的人不写,你又进一步解释。
比如我说在座的都是小可爱。有人反驳,我在进一步解释说,愚蠢的人是小可爱。那我的行为和你有什么两样。你只看得到别人的愚蠢,看不到你自己的,那你岂不是名副其实的愚蠢至极。 |
33
intmax2147483647 2023-09-01 17:31:31 +08:00
@lscexpress 笑死我了,你非要用以前杠,还怪我不早说。
看看这个帖主的一开始的说明: “当前阶段,对业务需求开发迭代都是很快的。写单元测试又很耗时。这种情况下,想问下大家,现在是不是都不流行写单元测试了?” “现在”俩字是不是很明显? 这么看来,你是又喜欢杠,又愚蠢至极。 你这种的,喜欢找刁钻角度去反击别人,而不是从问题正面来辩论的,一律看作蠢杠精。 |
34
lscexpress 2023-09-06 10:23:04 +08:00
@intmax2147483647 还辩论,你大学参加过校辩论队,参赛过吗?有战绩吗?你在这儿能同我对话不是你水平多高,而是互联网的包容。
|
35
intmax2147483647 2023-09-08 10:44:31 +08:00
@lscexpress 行了行了,憋扯别的了,咋净扯别的呢,承认自己不对这么难吗🤣
|