在大型项目或迭代频繁的项目中,单元测试还是很必要的,当前单元测试框架很多,功能各不相同。
热门的 JavaScript 自动化单元测试框架
image
排名前三位的单元测试框架分别为 Mocha,Jasmine 和 Karma,特点如下:
Jest
- facebook 坐庄
- 基于 Jasmine 至今已经做了大量修改添加了很多特性
- 开箱即用配置少,API简单
- 支持断言和仿真
- 支持快照测试
- 在隔离环境下测试
- 互动模式选择要测试的模块
- 优雅的测试覆盖率报告,基于Istanbul
- 较新,社区不十分成熟
- 全局环境,比如 describe 不需要引入直接用
- 较多用于 React 项目(但广泛支持各种项目)
Mocha
- 灵活(不包括断言和仿真,自己选对应工具)
流行的选择:chai,sinon - 社区成熟用的人多,测试各种东西社区都有示例
- 需要较多配置
- 可以使用快照测试,但依然需要额外配置
Jasmine
- 开箱即用(支持断言和仿真)
- 全局环境
- 比较'老',坑基本都有人踩过了
在React项目最终用的是Jest+Enzyme,接下来几篇文章讲述Jest+Enzyme的使用。
参考
https://www.cnblogs.com/lihuanqing/p/8533552.html
https://www.cnblogs.com/lihuanqing/p/8533552.html