测试管理工具
Karma
能力:
- 驱动浏览器
- 管理测试框架Mocha等
- 集成webpack
- 集成代码覆盖率功能
是对底层能力的集成
测试框架
Jest
- Facebook出品,基于Jasmine,最受欢迎
- 配置项最少,全家桶类型
- 支持断言和mock
- 支持快照
- 附带测试报告,基于Istanbul
- 社区不成熟(对于vue-loader 支持一般)
- 语法最方便
Mocha
- 使用的人最多
- 直接去跑测试代码,断言还是需要断言库的能力
- 生成测试报告(样式可定义)
- 可以在浏览器端跑测试代码
- 可定义钩子(before)等
- 可以进行异步测试
- 额外配置较多
- 社区成熟(对于vue-loader 100%支持)
Jasmine
- 跑在代码中(只能在浏览器中运行),耦合性太强
- 无法生成测试报告
- 自带断言库
- 可定义钩子(before)等
- 可以进行异步测试(比较老)
Ava
- 异步支持特别好
- 快照,断言库需要第三方支持
Tape
- 代码体积最小
- 额外功能都需要额外导入
- 自带断言库
架构图
