一、介绍
Jest是 Facebook 的一套开源的 JavaScript 测试框架, 它自动集成了断言、JSDom、覆盖率报告等开发者所需要的所有测试工具,是一款几乎零配置的测试框架。
二、安装
- 初始化环境。生成package.json文件
,在根目录执行 npm init -y 初始化环境配置
npm init -y
- 安装jest
npm install jest -g
或者
npm install --save-dev jest babel-jest babel-core babel-preset-env -g
第一种是直接简单全局安装;
第二种是安装了babel-jest、 babel-core、 regenerator-runtime、babel-preset-env 这几个依赖,为了让我们可以使用ES6的语法特性进行单元测试,ES6提供的 import 来导入模块的方式,Jest本身是不支持的。
三、配置
- 修改根目录package.json文件:
打开package.json文件,将script下的test的值修改为jest
"scripts": {
"test": "jest"
}
-
在需要测试的同级目录下建立_tests_文件夹(文件夹名字可以自定义,但最好语义化),_tests_文件夹里建测试文件:xxx.spec.js 或 xxx.test.js
xxx对应需要测试的js文件名,方便查找,例如index.js的测试文件为index.spec.js.
_tests_内部
四、执行
1. 单次执行:在执行过一次测试,如果更新代码后重新测试,需要再次执行命令。
- 全局测试:在根目录内执行命令 ' jest ',会自动搜索到目录内所有的xxx.spec.js 和 xxx.test.js,并执行测试逻辑
jest
- 针对单文件测试:在根目录执行命令 ' jest path '(path为测试文件的路径),jest会根据路径找到测试文件xxx.spec.js,执行测试逻辑
jest js/xxx
或
jest js/xxx.spec.js
2. 伺服执行,执行一次命令后,测试程序保持监听,每次修改保存后自动去执行测试逻辑。
- 配置package.json,
在scripts内添加两个配置:"watch": "jest --watchAll", "coverage": "jest --coverage"
"scripts": {
"test": "jest",
"watch": "jest --watchAll",
"coverage": "jest --coverage"
}
- 执行命令:jest js/index --watchAll,
这样就能保持实时监听,想要停止就control+c
jest js/index --watchAll
网友评论