为什么使用Jest?
1. Jest 可以利用其特有的快照测试功能,通过比对 UI 代码生成的快照文件,实现对 React 等常见框架的自动测试。此外, Jest 的测试用例是并行执行的,而且只执行发生改变的文件所对应的测试,提升了测试速度
2.安装配置简单,非常容易上手,几乎是零配置的,通过npm 命令安装就可以直接运行了
3. Jest 内置了测试覆盖率工具istanbul,可以通过命令开启或者在 package.json 文件进行更详细的配置。运行 istanbul 除了会再终端展示测试覆盖率情况,还会在项目下生产一个 coverage 目录,内附一个测试覆盖率的报告,让我们可以清晰看到分支的代码的测试情况。
4. 集成了断言库,不需要再引入第三方的断言库,并且非常完美的支持React组件化测试。
安装Jest
- 输入如下命令
npm init -y
,在项目中进行初始化package.json - 全局安装Jest:输入如下命令
npm install jest -g
使用Jest
创建需要被测试的js文件文件(进行声明变量,并将其导出):
//声明变量
const helloTest = "hello world";
//打印该变量
console.log(helloTest);
//将其成员导出
module.exports = helloTest
创建文件夹名称为__test__
,声明测试文件,文件名称最好符合规范为,测试文件名称+.spec.js
,具体看图为例:
在index.spec.js
中输入如下代码:
test("测试hello World", () => {
//将index.js导出的变量赋值给ret
const ret = require("../index")
//断言
//如果ret等于hello world的话则认为断言成功,如果不等于的话则认为断言失败使得报错
expect(ret).toBe("hello world")
})
在控制台运行如下代码jest helloworld
,语句中的helloworld代表文件夹,所以需要在hellowolrd文件夹的父级目录输入如下语句进行测试。测试结果:
代表断言成功,匹配到了ret变量中的hello world字符串。
结束
有帮助的话就点个赞呗~