一分钟食用前端测试框架Jest
安装
其实食用Jest是很简单的,我们只需要安装Jest即可
npm install --save-dev jest
yarn add --dev jest
pnpm add --save-dev jest
ESmodule
本身来说,Jest是不支持Esmodule的,他支持CommonJS,我们需要Babel改一下
npm i --save-dev babel-jest @babel/core @babel/preset-env
然后创建.babel.rc或babel.config.js,编写以下代码
module.exports = {
// 智能预设,编译ES6语法
presets: [
[
"@babel/preset-env",
{
targets: {
"node": "current",
}
}
],
],
};
就可以使用ESmodule语法了
代码
然后,我们就可以编写你需要测试的代码了
例如我们自己编写一个main文件,包含几个函数,两个数的加减乘除等,然后测试看看会不会通过
const add = function (a, b) {
return a + b;
}
const minus = function (a, b) {
return a - b;
}
const multiply = function (a, b) {
return a * b
}
const divide = function (a, b) {
return a / b
}
export {
add,
minus,
multiply,
divide,
}
我们写了几个函数,并暴露出了相应的方法
测试
编写文件main.test.js,并编写测试代码
import {add, minus, multiply, divide} from "./main";
// 测试加法
test('adds 1 + 2 to equal 3', () => {
expect(add(1, 2)).toBe(3);
});
// 测试减法
test('minus 2 - 1 to equal 1', () => {
expect(minus(2, 1)).toBe(1);
});
// 测试乘法
test('multiply 1 * 2 to equal 2', () => {
expect(multiply(1, 2)).toBe(2);
});
// 测试除法
test('divide 2 / 2 to equal 1', () => {
expect(divide(2, 2)).toBe(1);
});
这里说明一下
test是我们的Jest 的测试函数,表明我们要测试了,接收两个参数,一个是desc(说明描述),一个是fn(回调函数)
expect是断言,意思就是,我们认为,觉得。它接收一个fn为参数
toBe是我们的匹配器,表明类似于===号的作用,带类型匹配的相等,他会拿着你的函数的结果去和toBe参数比较呢,其他的会一一解释好多的匹配器呢,请先这样看着一下
最后我们在package.json文件中,编写脚本
"scripts": {
"test": "jest",
"testw": "jest --watchAll"
},
test是表明,我们进行测试
testw 是表明我们要实时监视所有的测试文件,自动运行测试,并给出结果
结果
运行脚本
npm run test
呐,并没有错误呢
错误
假如我们写一个错误呢?
这里的最后一个divide函数,我们传递的参数是2/2,tobe也就是说,我们期望结果是3,但是函数的返回值会是2/2=1,与3不匹配,所以会报错的
// 测试除法
test('divide 2 / 2 to equal 1', () => {
expect(divide(2, 2)).toBe(3);
});
呐,你看,遇到红的了吧,不用急,我们只要一步一步分析,红的再多我也不怕
他的意思是,我们测试了你的最后一个,错误了,期望值是3,但是收到的测试的值却是1,所以不对
我们只需要改回来即可
最后
Jest,其实来说,并不困难的,我会天天更新,一起学习吧,加油
原文地址:https://blog.csdn.net/weixin_45134711/article/details/144088715
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!