分享保姆级教程-使用jest进行单元测试

以前,写完一段代码我也是直接调用或者实例化一下,发现过了就把测试相关部分删了。今年的不幸与坎坷使我有很长一段时间去思考人生,不想将就了,鲁棒健壮的程序,开发和测试应该是分得很开的,于是我选择jest去做单元测试这件事。

为什么要做单元测试

在开始之前,我们先思考这样一个问题,我们为什么要做单元测试?

不扯犊子直接说吧,第一点,用数据、用茫茫多的测试用例去告诉使用者,你的程序是多么鲁棒健壮;第二点,把它作为一种素养去培养吧,当你按照一系列规范去做事,那么你做出来的东西,我想是有品质在的。
jest的安装

在确保你的电脑装有node环境的情况下,我们通过mkdir jest-study && cd jest-study来初始化项目,然后我们通过npm init -y初始化npm环境。

执行npm i jest babel-jest @babel/core @babel/preset-env 命令安装相应的依赖包,因为后面的例子是基于ES Module的语法编写的,所有需要安装babel进行语法转义。当然你也可以选择直接用CommonJS的写法,node天然支持的。
jest的相关配置
package.json中相关scripts

这里笔者罗列了常用的通用的一些关于jest的脚本,后面测试结果会陆续补充一些测试脚本,以上的脚本都编写在package.json文件下的scripts脚本下面。
通用写法

“test”: “jest” : 这个比较傻瓜式,当执行npm run test这条命令是会去对test目录下的所有文件进行相应的jest测试。

“test:help”: “jest --help”: 顾名思义,如果你不想全局安装jest,又想看看到底有哪些cli命令的话,就它了。

“test:debug”: “jest --debug”: 顾名思义,debug啊。

“test:verbose”: “jest --verbose”: 以层级显示地方式在控制台展示测试结果。

“test:noCache”: “jest --no-cache”: 顾名思义,就是设置有没有缓存,有缓存的话会快点。

“test:init”: “jest --init”: 执行这句就是在根目录创建一个jest.config.js文件,它在创建的时候有很多选择项给你的。

“test:caculator”: “jest ./test/caculator.test.js”: 单文件测试。

“test:caculator:watch”: “jest ./test/caculator.test.js --watch”: 单文件监视测试

“test:watchAll”: “jest --watchAll”: 监视所有文件改动,测试相应的测试。

大致基础类的脚本测试就总结到这里,接下来我们看下jest.config.js的相关配置。
jest.config.js中相关配置

里面配置的参数太多了,有些配置了以后就可以不再package.json文件下写相应的脚本,这里笔者阉割一部分,列举最常见的几个。

module.exports = {
// Automatically clear mock calls and instances between every test
clearMocks: true,
// The directory where Jest should output its coverage files
coverageDirectory: “coverage”,
// The test environment that will be

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值