单元测试

根据维基百科的定义:

在计算机编程中,单元测试(又称为模块测试, Unit Testing)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。

单元测试的分类

单元测试根据主流的分类可以分成两类,分别是BDDTDD

TDD

TDD的英文全称是Test-Driven Development,即测试驱动开发。测试驱动开发的流程是

  • 开发人员写了一些测试代码

  • 开发人员跑了这些测试用例,然后毫无疑问的这些测试用例失败了因为测试中提到的类和方法并没有实现

  • 开发人员开始实现测试用例里面提到的方法

  • 如果开发者写好了某个功能点,他会欣喜地发现之前的相对应的测试用例通过了

  • 开发者人员可以重构代码,并添加注释,完成后期工作 这个流程如下图:

单元测试_第1张图片
4a1715b6-a8c7-49be-aac1-36ff04caf8a9.png

BDD

BDD的英文全称是Behavior-Driven Development,即行为驱动开发。 BDD与TDD的主要区别是在写测试案例的时候的措辞,BDD的测试案例更像是一份说明书,在详细描述软件的每一个功能。个人比较喜欢BDD,后续的Demo也是BDD形式的。

关于BDD和TDD的差别可以看看这篇文章:The Difference Between TDD and BDD

参考:

Nodejs单元测试小结

The Difference Between TDD and BDD

在Nodejs中贯彻单元测试

Should.js

Mocha

你可能感兴趣的:(单元测试)