为什么单元测试很重要

单元测试对程序员不陌生,可是对很多程序员来说,并不太喜欢写单元测试,感觉不是业务代码,又要做数据初始化,又要做数据清理,显得较为麻烦。毋庸置疑单元测试是重要的,尤其是可重复执行的单元测试,甚至早些年还有一些极端的公司践行着测试驱动开发的软件开发模式,但这份重要不见得每个程序员都认识,我就遇到过同事反问我,写单元测试有什么用?基于我自己的程序经验,我觉得有有以下几点进行阐述

白盒测试

大多数测试人员只只能做黑盒测试,但单元测试能更好的做白盒测试,因为代码就是你写的,你理应更清楚其逻辑和风险,从而在单元测试中进行测试。

节省开发时间

是的,你满以为不写单元测试,就是节约时间。但bug是守恒的,你不在单元测试的时候揪出来,那么他会被QA揪出来,甚至揪不出来,直至在某个深夜在线上他爆发出来,这个时候你焦头烂额,你要基于日志还原事发现场,你要一遍一遍读着好几周甚至几个月前的代码,不好debug,修改后上线又是各种审批等等,这会花很多时间,甚至让企业承担业务风险。

可是要是你认真的写了单元测试,大多数bug本可以轻松揪出来,以上的梦魇统统可以避免

保证已上线功能的稳定性

可能已经上线的版本运行很稳定,这是你开发一个新的feature,对以往的模块或直接或间接都有些影响,这个时候,如果之前的模块有可执行的单元测试,那么在正式发布前,基于CI把所有之前的单元测试回归一次,会很容易暴露是否影响之前的功能,让系统更健壮稳定。