jest 单元测试
关键词解释
describe
用于对测试用例进行逻辑分组,使得测试代码更加有组织、易读expect
用于验证代码的行为是否符合预期test
用于定义测试用例toBe
相当于===
,即全等toEqual
相当于==
运行命令
// index.test.js
describe('group', () => {
test('sum function', () => {
expect(sum(1, 2)).toBe(3)
})
})
有三种方式执行该用例
jest group index.jest.js
jest group.sum function index.test.js
jest sum function index.test.js
配置文件
// jest.config.js
module.exports = {
moduleNameMapper: {
'^zml-util/(.*)$': '<rootDir>/src/$1', // 配置别名,webpack 等打包工具中配置的别名,在单测文件中识别不了,所以需要在这里重新设置别名
},
transform: {
'^.+\\.js?$': 'babel-jest',
}
}
script
// package.json
"scripts": {
"jest": "jest", // 默认会去执行项目中 .test.js 结尾的文件(包括 test.js)
"jest": "jest --coverage" // 生成覆盖率文件
},
输出
QA
-
识别不了
ES6
语法?-
安装
babel
npm install -D @babel/core @babel/preset-env babel-jest
-
配置
babel
-
{ "presets": ["@babel/preset-env"] }
-
配置 Jest
-
module.exports = { transform: { '^.+\\.js?$': 'babel-jest' } }
-