单元测试

194 阅读2分钟

 第一章-概念篇


1:什么叫单元测试?

          对软件中的最小可测试单元进行测试(ps:一个方法,一个api)

2:使用目的

         1)分模块开发,方便的定位到那个单元出了问题

         2)保证了代码质量

         3)驱动开发

3:单元测试的两种类型:

         TDD:测试驱动开发,从需求角度看,就是我需要结果是什么,如果不是就是错误的

         (需求分析->编写单元测试->编写代码使单元测试通过->重构)

          BDD:行为驱动开发,从具体功能角度出发看,结果应该是什么,如果不是就出错

           (从业务角度定义目标->找到实现目标的方法->编写单元测试->实现行为->检查产品)

4:单元测试的核心内容:

          1)测试框架 

          2)断言库 

          3)Mock库 

          4)Test runner 

          5)覆盖率工具

5:单元测试组成部分:

         1)被测试的方法

         2)数据 依赖 (使用Mock方法屏蔽依赖) 

         3)执行方法(使用测试方法)   4)检查结果(断言库)

6:测试框架

         1)Jest-基于jasmine,对react友好      主流

         2)Jasmine-bdd风格,自带assert(断言库)和mock

         3)Mocha-全面适合node和浏览器两个端    主流

         4)Qunit-出自jquery,后来独立出来

7:断言库:

          1)Chai-支持所有风格-全面

          2)Should

          3)expect

          4)Assert-node环境直接使用

8:Mock库:sinon

9:Test runner:Karma

10:覆盖率工具:istanbul

11:核心工作:测试用例为了某个特殊目标而编制的一系列测试输入,执行,以及输出结果,来测试是       否满足需求

12:钩子函数:after(()=>{})      beforeEach(()=>{})