代码能跑就行?聊聊单元测试的“爱恨情仇”

代码能跑就行?聊聊单元测试的“爱恨情仇”

你敢走上一座未经测试的大桥吗?建筑师在施工前,会严格检验每一块砖、每一根钢筋的质量。然而在软件世界里,一个奇怪的现象却普遍存在:许多程序员似乎并不热衷于为他们亲手编写的“代码砖块”进行这种基础的质量检验——我们称之为“单元测试”。这究竟是为什么呢?

问题提出:什么是单元测试?

想象一下,你正在组装一辆极其复杂的乐高汽车。单元测试,就相当于你在拼装前,先确认每一个小零件——轮子能否顺畅转动、齿轮是否咬合紧密、车灯能否正常发亮。而不是等到整辆车拼完,一推才发现轮子是卡死的,届时再去拆解排查,无疑是场灾难。