目前业界里比较主流的前端自动化框架有: Jasmine, Mocha, Jest.
Jest 在性能、功能、易用性综合来说是比较好的。
正在看的 vue-loader 源码也使用 Jest 框架进行测试。就先来学习一下Jest 的使用吧!
使用Jest ,我们先来创建一个项目。(新建一个目录,进入 并使用 npm init -y 初始化项目)
先来安装Jest 到项目 (使用版本24.8.0)
npm install jest@24.8.0 --save-dev
然后我们在项目中加入之前写的 math.js 文件,作为我们要测试的代码。
function add (a, b) {
return a + b
}
function minus (a, b) {
return a-b
}
function multi (a, b) {
return a * b
}
module.exports = {
add,
minus,
multi
}
然后在项目中加入math.test.js ,这里我们就使用Jest 来写测试代码,Jest 中提供了test 与 expect 函数。
const mathUtil = require('./math.js')
const { add, minus, multi } = mathUtil
test('测试加法', () => {
expect(add(1,9)).toBe(10)
})
test('测试减法', () => {
expect(minus(9,1)).toBe(8)
})
test('测试乘法', () => {
expect(multi(9,2)).toBe(18)
})
好,下面我们去配置运行这个测试脚本。
在package.json 中增加一个script 配置,如下。
"scripts": {
"test": "jest"
},
jest 命令,实际上会去寻找目录中以 'test.js' 结尾,并运行这些文件(使用的jest默认配置)。
如下