1、Jest简介和基本环境搭建

426 阅读3分钟

一、Jest简介

1、市面上主流的前端测试框架

  1. Jasmine : JavaScript测试框架(BDD-集成测试开发框架),这个也算是比较早的测试框架。
  2. MOCHA: 它是一个功能丰富的JavaScript测试框架,运行在Node.js和浏览器中。
  3. Jest:目前最流行的前端测试框架,几乎国内所有的大型互联网公司都在使用。

这三个框架用起来都差不多

2、Jest前端测试框架优点介绍

  • 比较新:喜新厌旧是人的天性,新技术出来后你总想动手尝试一下。
  • 基础很好:框架基础好就是性能好、功能多、简单易用。
  • 速度快: 单独模块测试功能,比如说有两个模块A和B,以前都测试过了,这时候你只改动A模块,才次测试,模块B不会再跑一次,而是直接测试A模块。
  • API简单 :API非常简单,数量也少。
  • 隔离性好:Jest的执行环境都是隔离,这样就避免不同的测试文件执行的时候互相影响而造成出错。
  • IDE整合:Jest直接可以和很多编辑器(VSCode)进行融合,让测试变的更加简单。
  • 多项目并行:比如我们写了Node.js的后台项目,用React写了一个前台项目,Jest是支持他们并行运行,让我们的效率更加提高了。
  • 快出覆盖率:(测试代码覆盖率) 对于一个项目的测试都要出覆盖率的,Jest就可以快速出这样的覆盖率统计结果。

二、基本环境搭建和简单使用

1、环境搭建

安装Node.js

然后我们需要Node的开发环境。

nodejs.org/en/download…

生成package.json文件

想要安装jest必须要用package.json文件来管理这个包,所以我们要使用初始化命令,来初始化。 使用npm init命令来快速生成一个package.json文件。

安装Jest框架

npm install jest@24.8.0 -D

-D 就保存到dev里边了,也就是说上线的时候我们不使用这个包,只有在开发的时候才进行测试。这样就安装完了Jest框架。

2、简单Dome使用

在项目根目录,新建两个文件,一个文件是student.js(被测试文件),另一个是。 student.test.js(测试文件)文件。

student.js(被测试文件)如下:

function teacher(grade) {
    return grade=='一年级'?"李老师":grade=='二年级'?"王老师":"张老师"
}

function student(id) {
    return id==1?"小明":id==2?"小红":"小刚"
}

module.exports = {
    teacher,student  
}

student.test.js(测试文件)如下:

const {teacher,student} = require('./student')

test('teacher 一年级',()=>{
   expect(teacher("一年级")).toBe('李老师')
})

test('student  id=1',()=>{
   expect(student(1)).toBe('小明')
})
  • test方法:Jest封装的测试方法,一般填写两个参数,描述和测试方法
  • expect方法 :预期方法,就是你调用了什么方法,传递了什么参数,得到的预期是什么。

打开package.json文件,然后把里边的scripts标签的值修改为jest

"scripts": {
    "test": "jest"
  },

然后运行命令:

npm run test

image.png

如果传参和得到的数据有差异,就会报出对应错误,将正确的expect(teacher("一年级")).toBe('李老师')改为错误的expect(teacher("一年级")).toBe('王老师')在运行,就会报出错误,如下:

image.png

学习日期:2022/1/18

视频参考www.bilibili.com/video/BV1yA…

文档参考jspang.com/detailed?id…

仅供个人学习和记录