2、Jest基本配置与匹配器

392 阅读2分钟

一、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的文件夹。

image.png jest.config.js的文件中,配置生成的报告文件夹名称。

coverageDirectory : "coverage"

二、Jest匹配器

以下为常用匹配器列表:

  • toBe() ---> 等同于===,严格相等。
  • toEqual() ---> 只要内容相等,就可以通过测试,不严格匹配但要求值相等。
  • toBeNul() ---> 只匹配null值,需要注意的是不匹配undefined的值。
  • toBeUndifined() ---> 匹配undefined
  • toBeDefined() ---> 只要定义过了,都可以匹配成功。
  • toBeTruthy()toBeFalsy() ---> truefalse匹配器,相当于判断真假的。。
  • toBeGreaterThan() ---> 等同于>,用作数字比较的,大于什么数值,只要大于传入的数值,就可以通过测试。
  • toBeLessThan() ---> 等同于<,小于传入的数值,就可以通过测试。
  • toBeGreaterThanOrEqual() ---> 等同于>=,大于等于期待数字时,可以通过测试。
  • toBeGreaterThanOrEqual() ---> 等同于<=,小于等于期待数字时,可以通过测试。
  • toBeCloseTo() ---> 可以自动消除JavaScript浮点精度错误的匹配器,比如我们让0.10.2相加,这时候js得到的值应该是0.30000000000004,所以如果用toEqual()匹配器,无法通过测试。
  • toMatch() ---> 字符串包含匹配器。
  • toContain() ---> toMatch()只是一个字符串包换关系的匹配器,但是在工作中使用的多是数组,可以使用数组的匹配器toContain()
  • toThrow() ---> 专门对异常进行处理的匹配器,可以检测一个方法会不会抛出异常。
  • not ---> not匹配器是Jest中比较特殊的匹配器,意思就是相反或者说取反,比如上不希望方法抛出异常expect(...).not.toThrow()

这里只是一些最常用的一些匹配器,Jest当中有很多匹配器,可以通过官方文档查找学习:

jestjs.io/docs/en/exp…

三、补充:开启自动测试

每次修改测试用例,我们都手动输入npm run test ,可以通过配置package.json文件来设置开启自动测试。

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

学习日期:2022/1/19

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

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

仅供个人学习和记录