Jest
是一个令人愉快的 JavaScript
测试框架,专注于简洁明快。Jest
拥有良好的文档,只需很少的配置,并能根据你的需求进行扩展。它能确保任何 JavaScript
代码的正确性。它为你提供了易于理解、熟悉且功能丰富的 API
来编写测试用例,并快速地反馈结果。
一、jest优势
- 零配置:
Jest
的目标是在大部分JavaScript
项目上实现开箱即用, 无需配置。 - 快照: 能够轻松追踪大型对象的测试。 快照可以与测试代码放在一起,也可以集成进代码行内。
- 隔离: 测试程序拥有自己独立的进程 以最大限度地提高性能。
- 优秀的 api: 从
it
到expect - Jest
将整个工具包放在同一个 地方。好书写、好维护、非常方便。
二、安装
- 全局安装:
1 | npm i -g jest |
- 项目局部安装:
1 | npm i -D jest |
三、配置使用
- 初始化项目,生成
package.json
文件和jest
自定义配置文件
1 | 初始化,生成 package.json 文件 |
- 配置
scripts
脚本命令。
1 | { |
命令解释:
1 | 全局搜索 test.js 后缀文件执行单元测试 |
四、example
- 创建一个
demo.js
文件,编写功能函数并exports
导出。
1 | // ./demo.js |
- 创建一个
__tests__
文件夹,并生成demo.test.js
单元测试文件。
1 | // ./__tests__/demo.test.js |
- 使用
npm test
执行单元测试。
1 | npm test |
- 输出
1 | PASS ../demo.test.js |
sum
和sort
方法单元测试通过。
五、jest总结
- 当使用
jest
未指定测试的目录或具体文件时,会默认查找__tests__
文件夹下的js|ts
文件和以test.js
为后缀的文件。 - 建议所有的单元测试文件集中存放到单独的
__tests__
目录下,与业务功能代码隔离。 - 推荐使用以功能方法名 +
.test.js
的形式来命名对应的测试文件,例如:一个求和功能方法所在的文件为sum.js
,对应的单元测试文件就是sum.test.js
。 - 常用的判断类型:
toBe
(值类型)、toEqual
(引用类型)、toBeNull
、toBeDefined
、toBeTruthy
(true)、toBeFalsy
(false)、toBeCloseTo
(约等于)、toMatch
(匹配包含)、toThrow
、not
修饰符(not.toBe
)。 describe
搭配it
相当于形成了一组测试,适用于一个功能方法对应了多个测试用例。
参考文档:
欢迎访问:天问博客
本文作者: Tiven
发布时间: 2022-04-19
最后更新: 2022-04-19
本文标题: 前端单元测试之Jest初体验
本文链接: https://www.tiven.cn/p/276a8a53/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!
发布时间: 2022-04-19
最后更新: 2022-04-19
本文标题: 前端单元测试之Jest初体验
本文链接: https://www.tiven.cn/p/276a8a53/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!