第一章-概念篇
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(()=>{})