Jest在vue-cli3中的应用

什么是单元测试

先上个图

这个图我们很熟悉,这个在大学某软件课程里会看到这个,这是一个简易的软件的生命周期。

可以看到我们单元测试对应的是编码。单元测试是对我们软件中的最小可测试单元进行检查和验证,比如一个函数,一个模块。单元测试一般来说是开发人员去执行,剩下的集成测试,系统测试等由专业的测试人员来进行。

单元测试不需要访问数据库

单元测试不需要访问网络

单元测试不需要访问文件系统

为什么要使用单元测试

  1. 可以验证代码的正确性,在上线前心里有底
  2. 一次编写,多次运行,就不需要我们在代码里console打印
  3. 便于重构,有测试用例在,我们方便知道重构后的代码是否正确

怎么使用单元测试 –Jest

Jest是什么

Jest是一个JavaScript测试框架,旨在确保任意JavaScript代码的正确性。 它允许你用可访问的、熟悉的和功能丰富的 API 来写测试,让你快速获得结果。
Jest文档齐全,仅需很少的配置,可以扩展到符合你的要求。
Jest使测试变得愉快。 —Jest 核心团队

引入jest

引入方式分为两种,一种是创建项目时引入,一种是创建时没有引入,后期引入。

初始化时引入

用git bash执行vue create demo时发现交互提示符不工作,

搜了一下,发现要通过winpty vue.cmd create demo去运行,
然后不想每次都写那么长的命令的话,可以在Git/etc下的bash.bashrc文件的最后一行加入如下代码

1
alias vue='winpty vue.cmd'

这样就能可以用vue create

单元测试中选中Jest即可

后期引入

昨天下午大佬说你现在好像没有什么事情了,我把Jest加入到了项目,你自己看看,看懂了做个分享。

所以没有接触过单元测试的我开始了 走向掉更多头发 走向光明的道路。

我们主要是介绍后期引入这种方法,愚蠢机智的我通过上面的方法创建了一个新项目,然后去package.json,看用到了哪些包,然后下载下来,主要用到下面这几个

jest && ts-jest && @types/jest

首先我们在项目的根目录在终端打开,输入

1
npm install -D jest ts-jest @types/jest

@vue/cli-plugin-babel

1
vue add @vue/cli-plugin-babel

@vue/cli-plugin-unit-jest

1
vue add @vue/cli-plugin-unit-jest

运行后会发现,package.json会多了如下三行

Vue Test Utils 是 Vue.js 官方的单元测试实用工具库。

可以看到我们scripts多了一个命令test:unit,我们可以改写成”test”: “jest”,不改也没有什么问题

我们安装这个@vue/cli-plugin-unit-jest依赖的时候,会在根目录下生成一个test文件夹,和一个jest配置文件jest.config.js

Jest识别三种测试文件,以.test.j/ts结尾的文件,以.spec.j/ts结尾的文件,和放到tests 文件夹中的文件

结束语

怎么具体使用在Jest将在下篇文章中详细介绍

想要了解更多知识,可以关注我的公众号