一、简介
前端单元测试是一项很重要对项目组成部分,特别是对于JavaScript这样弱类型语言。顾名思义,就是对软件对某块单元进行测试,只有很好地完成单元测试,才能更好地进一步完成集成测试、功能测试等等。
二、TDD 和 BDD 的区别
TDD:Test-driven development (测试驱动开发)
- 设计理念是通过单元测试来推动设计开发流程
- 从代码角度出发,能更好地解决某个单元本身的问题
BDD:Behavior-Driven Development (行为驱动开发)
- 设计理念是通过预期行为以构建功能模块,推动设计开发流程
- 从用户角度出发,能更好地解决需求和开发脱节的问题
如果想看直观的代码差异,可以看这位前辈的文章:
http://ilucas.me/2016/03/07/difference-between-tdd-and-bdd/
三、测试工具
1. Node assert
assert是Node自带的一个断言工具,有10 多个断言测试的函数
使用方法见链接: Assert
特点:小,Node自带,方便在Node环境使用
2. Mocha
Mocha(发音"摩卡"),是现在最流行的JavaScript测试框架之一,诞生于2011年。
特点:
- 在浏览器 和 Node环境都能使用
- 不含断言和仿真,需要选择相应工具,这也造就了它灵活的特点
3. Karma
Karma,前身是Testacular
特点:
- 是一个测试runner,它需要测试框架,比如Karma+Mocha结合使用
- 支持多语言、多浏览器、仿真
- 支持对测试文件变化的监听(可配置)
完
网友评论