Skip to content

关于 TDD

TDD(测试驱动开发)是一个非常不错的开发模式,这个模式在互联网大厂、开源项目非常受欢迎,且几乎都是标配,而在一些小公司或者外包公司却处于一个冷板凳的位置。

开发者比较不想碰它的主要原因大致如下(当初的我也是这样的):

好像确实挺酷的,看起来挺厉害的,但是我不会 😓,算了算了。

什么?还要先写测试用例再写代码,我平时都是先写代码再自己手动测试的。

写代码的时间都不够了,我还要去写着玩意儿?不是闹嘛!

其和传统开发相比在开发阶段会多一个编写单元测试的过程,只有单元测试都通过了的程序才能够上线!

因为多了这个环节,且有一定的学习成本,在开发阶段也会多消耗一些时间,所以在只顾开发不顾质量的公司中几乎不会采用这个方式进行编程。

存在即合理,为什么还会开源项目和大厂还会继续使用呢?我总结下来其有如下的好处:

  • 提升代码质量

    单测试对每个功能点进行测试,能够让我们代码更加健壮、质量更佳。

  • 减少 bug 量

    很多 bug 可能是因为有时候过度相信自己的代码,或者对场景考虑导致的。

  • 提升代码可读性

    将功能都一个一个抽离成最小功能函数,避免了又多又长的难读代码的出现。

  • 提升开发效率

    修 bug 的速度快了,这个模式下很好改代码与一些简单逻辑

一旦采用这种模式开发后,我们就得将原本一团的逻辑进行拆分和解耦,这能够让我们的代码更加健壮!

也是变向的锻炼我们的抽象和解耦能力

而换个角度看,日后找 bug 的时间也会极大的缩减,这也就是为什么在大厂这个模式很受欢迎的原因!

我将向身边的小伙伴推荐 TDD 的编程模式!并我会持之以恒的采用!

单元测试

最初我认为单元测试是非常鸡肋的。且也是有一定的挑战性的。

TDD 涉及的内容非常广,我目前接触的最多的也就是单元测试,也还是在边学边用的阶段。接下来会陆续以案例的形式介绍如何写单元测试以及一些思路。