- 前端单测的难点在哪?配置麻烦?不会写?维护成本高?
- 前端写单测最主要的价值点是什么?
- 写单测真的可以减少 bug 的产生?切实体会到有单测对重构来说可以提升信心。
1
murmur May 31, 2022
问题就再这,宁可推倒不重构,原来的系统烂 是前人和时间的锅,重构出问题就是你的锅
何况是虽然烂但是修修补补居然能正常跑的那种,才是最恐怖 |
2
evada May 31, 2022
逻辑部分写单测还是很有用的,但是有些产品变化快,UI 的单元测试就要频繁改动比较麻烦,而且基准也得变。
|
3
bootvue May 31, 2022
工资 时间 不到位
|
4
meteor957 May 31, 2022
工期有限
|
5
otakustay May 31, 2022 你需求和交互变得比女朋友心情还快,一份代码根本等不到重构就要被推翻丢弃,写个鬼的单元测试
|
6
wenzichel May 31, 2022
1. 需求频繁变动;
2. 时间太紧; |
7
qq73666 May 31, 2022
投入与产出不成正比,而且应该是自动化测试或者测试人员来写
|
8
across May 31, 2022 via iPhone
因为页面 ui 型的月抛吧,不停更换重组,业务更新很频繁….
做工具数据层,扩展支持多,就想着怎么搞稳。 |
12
LCINA OP @murmur 现在就是在重构别人的代码,与其说是重构,不如说是重写,真的比写业务难受多了,还要保证质量。引进自动化测试跟单测,保证基础业务以及工具类业务组件不受影响。
|
13
lifesimple May 31, 2022
1. 额外的工作量
2. 没时间 3. 有时间也不会写 懒 |
14
imycc May 31, 2022
工具类的组件可以写一写,修改这类函数牵扯太多,有单测比较稳妥。业务侧的代码一般改了就测了,不改也不怎么会变(除非修改了公共代码)
做这些事情还是需要有企业 /团队文化来支撑的。适量的单测能提高自己的工作效率,减少 bug 。但做得太细也不会被计入产出,反而要被教育一顿,要聚焦关键问题。 |
15
james2013 May 31, 2022 via Android 1.单测耗时间
2.很多跟界面相关的,写不了单测 3.很多简单类似的操作,没有必要写 |
16
abcbuzhiming May 31, 2022
前端是最靠近用户的业务,变化最快。
测试推动无论在哪个地方,都不适合高速变化的场合。所以本质是剧烈的变化,让测试失效了,而不是前端测试有什么问题。 你要是比较稳定的业务并且愿意给时间,前端单元测试一样搞的起来 |
17
szdubinbin May 31, 2022 业务重 UI 短周期的可以没必要,我认为单测有价值点或者说对于技术有反哺的点在于,如果你真的要写一份可靠的测试,你会想怎么推翻设计或者改写原先 [又不是不能跑] 的代码,你会想办法去做方法抽离,然后想办法让他遵守单一职责链,减少 /剥离外部依赖,增加适配器(减少冗长不可测的判断),UI 和组件怎么做状态剥离,我认为这是对我有帮助的点。至于对于业务,其实没多少价值的,远比不上这周上 5 个让用户多点几下广告的需求来的重要。
|
18
zhangshine May 31, 2022
时间紧、任务重、变化快
|
20
freelancher May 31, 2022
钱。你给双倍工资试试?
本来测试的工作就交给测试做好了。现在都堆给研发了。 |
23
LCINA OP @otakustay 自动化测试还是依赖于开发自己去录制,然后最后在流水线上直接采用无头浏览器去执行,说白了就是一串 json ,然后找到对应的节点就点击,断言等。自动化测试对于后期的维护成本还是挺高的,比如业务接口一变化,界面布局一变化,可能就挂了几十个用例。但对于整个项目级别的重构,还是发挥了不少作用的,比如截图对比(还是存在字体在机器上的差别)等。
|
24
LCINA OP @szdubinbin 老哥稳
|
25
LCINA OP @abcbuzhiming 其实工具函数,业务组件,公共服务层写单测作用还是挺大的,测试人员可能不关注,类似于业务模块的话个人觉得可以不写,毕竟变更也比较频繁,维护成本高,收益低。
|
26
otakustay Jun 1, 2022
@ljrdxs #22 无头浏览器就是个盲人,靠 accessibility 做 assertion 就能搞自动化呗。很多系统自动化连可行性也达不到就是因为 accessibility 不行,就算拿无头浏览器把页面打开了,也写不出稳定的 assertion
|
27
ljrdxs Jun 1, 2022
@otakustay CSS 、和界面展示相关的 JavaScript 还是要人看。再说这也跑题了,主楼是单元测试。这个本来就是测数据的,还特别适合 Java 、C#之类强类型面向对象。
|
28
h1104350235 Jun 21, 2022
需求天天变,代码天天改。国内前端大多这种情况,一切以上线为重,代码和人,一个能跑就行。
|
29
daliusu Sep 21, 2022
之前写过一点基础框架和核心逻辑的,业务这边我这公司入职 3 个月不到换了两版 UI ,你让我怎么写... 尤其是前端做 UI 的测试本来就很难,上家公司测试闲的没事想写,搞了半个月放弃了
|