原文地址:https://www.jianshu.com/p/70a4f026a0f1?utm_source=oschina-app
安装
npm install -D jest babel-jest
添加jest.config.js
配置文档地址:https://jestjs.io/docs/zh-Hans/configuration
module.exports = {
transform: {
// 以 js 结尾使用 babel-jest 模块
"^.+\\.jsx?$": "babel-jest"
},
testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?)$',
moduleFileExtensions: ['js', 'jsx', 'json', 'node'],
// 源码搜索路径
modulePaths:[
"<rootDir>/src/",
"<rootDir>/src/ManageHome/",
"<rootDir>/src/lib/",
"<rootDir>/src/Common/"
]
}
package.json添加命令
"scripts": {
"test": "jest"
}
添加测试文件
functions.test.js
import functions from '../src/functions';
test('sum(2 + 2) 等于 4', () => {
expect(functions.sum(2, 2)).toBe(4);
})
基本断言语句
.not:测试结果不等于某个值
expect(functions.sum(2, 2)).not.toBe(5);
.toEqual():测试结果等于某个值
expect(functions.getAuthor()).toEqual(functions.getAuthor());
.toHaveLength():测试长度
expect(functions.getIntArray(3)).toHaveLength(3);
.toThrow():指定结果应该抛出异常
expect(getIntArrayWrapFn).toThrow('"getIntArray"只接受整数类型的参数');