起步
bin目录下创建zh-cli.js
1 |
|
执行node bin/zh-cli.js
,即可输出
配置下package.json的bin:
店东贷采用的是BDD的测试手法,通过代码对原有业务需求的理解,对代码质量以及业务逻辑进行的测试代码的开发,在测试的过程中,将店东贷的主要业务逻辑进行了提取,从而进行的单元测试用例编写。
一般测试分成几个类型:单元测试、集成测试、功能测试。集成测试和功能测试不赘述。单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作,这里的单元是程序工作的最小工作单位。单元测试应该仅仅依赖输入,不依赖多余的环境,如果你的单元测试依赖很多环境,那么你可能需要的是集成测试。
单元测试又可以根据开发模式分成以下两类:
TDD, TDD指的是Test Drive Development,很明显的意思是测试驱动开发,也就是说我们可以从测试的角度来检验整个项目。大概的流程是先针对每个功能点抽象出接口代码,然后编写单元测试代码,接下来实现接口,运行单元测试代码,循环此过程,直到整个单元测试都通过。
BDD指的是Behavior Drive Development,也就是行为驱动开发。行为驱动开发是一种敏捷软件开发的技术,它鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。主要是从用户的需求出发,强调系统行为。BDD最初是由Dan North在2003年命名,它包括验收测试和客户测试驱动等的极限编程的实践,作为对测试驱动开发的回应。
目前我接触到的项目都是BDD,国内的前端项目对单元测试重视程度没有那么高,TDD这种先编写单元测试的模式应用并不多。
但是但是,我真的想说,高覆盖率的单元测试,可以保证每次上线bug率大大降低,也是代码重构的基础。很多老项目,开发人员离职、新接手的人员不敢重构,慢慢称为团队负担、又不能下线,就是因为没有单元测试,改一点都怕出现不可测的bug。
前端从刀耕火种时代脱离出来,离不开其生态环境的完善,各种插件和库的层出不穷,让我们减少了自己造轮子的繁杂过程,从而大大提高了开发者的工作效率。造轮子也就是模块化的过程。
但是随着模块化的发展,一个项目也就会由很多的模块组成,而这些模块有一部分是自己的,也有一部分是别人开发的,模块的管理就成为了很大的一个问题。正是因为有这样的需求,才引起了模块化管理规范的发展。
模块化经历了下面几个阶段,也表明了模块化的作用和发展方向: