Jest 是 Facebook 的一套开源的 JavaScript 测试框架, 它自动集成了断言、JSDom、覆盖率报告等开发者所需要的所有测试工具,是一款几乎零配置的测试框架。并且它对同样是 Facebook 的开源前端框架 React 的测试十分友好。
安装
- npm init -y
- npm install -D jest babel-jest babel-core babel-preset-env regenerator-runtime
使用
- 在项目根目录添加
.babelrc
文件 - 在文件中写入
1
2
3{
"presets": ["env"]
} - 打开
package.json
文件,将script
下的test
的值修改为jest
:1
2
3"scripts": {
"test": "jest"
}
编写测试方法
- 创建
src
和test
目录及相关文件
- 在项目根目录下创建
src
目录,并在src
目录下添加functions.js
文件 - 在项目根目录下创建
test
目录,并在test
目录下创建functions.test.js
文件 - 测试文件的文件名 = 被测试模块名 + .test.js,例如被测试模块为
functions.js
,那么对应的测试文件命名为functions.test.js
。 Jest
会自动找到项目中所有使用.spec.js
或.test.js
文件命名的测试文件并执行
- 在
src/functions.js
中创建被测试的模块在1
2
3
4
5export default {
sum(a, b) {
return a + b;
}
}test/functions.test.js
文件中创建测试用例1
2
3
4
5import functions from '../src/functions';
test('sum(2 + 2) 等于 4', () => {
expect(functions.sum(2, 2)).toBe(4);
})