一、Jest基本配置
1、Jest初始化配置
直接使用npx命令来进行初始化
npx jest --init
-
Choose the test environment that will be used for testing ? 代码是运行在Node环境还是Web环境下?
-
Do you want Jest to add coverage reports ? 是否生成测试覆盖率文件?
-
Automatically clear mock calls and instrances between every test?是否需要在测试之后清楚模拟调用的一些东西?
在这三个选项选择之后,的工程根目录下多了一个jest.config.js的文件。打开文件可以看到里边有很多Jest的配置项。
2、Jest代码测试覆盖率
jest.config.js的文件
coverageDirectory : "coverage" //打开测试覆盖率选项
运行命令:
npx jest --coverage
这时会有一个简单的终端图表,还会生成一个coverage的文件夹。
jest.config.js的文件中,配置生成的报告文件夹名称。
coverageDirectory : "coverage"
二、Jest匹配器
以下为常用匹配器列表:
toBe()---> 等同于===,严格相等。toEqual()---> 只要内容相等,就可以通过测试,不严格匹配但要求值相等。toBeNul()---> 只匹配null值,需要注意的是不匹配undefined的值。toBeUndifined()---> 匹配undefined。toBeDefined()---> 只要定义过了,都可以匹配成功。toBeTruthy()和toBeFalsy()--->true和false匹配器,相当于判断真假的。。toBeGreaterThan()---> 等同于>,用作数字比较的,大于什么数值,只要大于传入的数值,就可以通过测试。toBeLessThan()---> 等同于<,小于传入的数值,就可以通过测试。toBeGreaterThanOrEqual()---> 等同于>=,大于等于期待数字时,可以通过测试。toBeGreaterThanOrEqual()---> 等同于<=,小于等于期待数字时,可以通过测试。toBeCloseTo()---> 可以自动消除JavaScript浮点精度错误的匹配器,比如我们让0.1和0.2相加,这时候js得到的值应该是0.30000000000004,所以如果用toEqual()匹配器,无法通过测试。toMatch()---> 字符串包含匹配器。toContain()--->toMatch()只是一个字符串包换关系的匹配器,但是在工作中使用的多是数组,可以使用数组的匹配器toContain()。toThrow()---> 专门对异常进行处理的匹配器,可以检测一个方法会不会抛出异常。not--->not匹配器是Jest中比较特殊的匹配器,意思就是相反或者说取反,比如上不希望方法抛出异常expect(...).not.toThrow()。
这里只是一些最常用的一些匹配器,Jest当中有很多匹配器,可以通过官方文档查找学习:
三、补充:开启自动测试
每次修改测试用例,我们都手动输入npm run test ,可以通过配置package.json文件来设置开启自动测试。
"scripts": {
"test": "jest --watchAll",
},
学习日期:2022/1/19
视频参考:www.bilibili.com/video/BV1yA…
仅供个人学习和记录