Jest配置

Jest官网:https://jestjs.io/

  1. npx jest --init 去node_modules里找jest来初始化一个配置文件jest.config.js
  2. 配置里设置coverageDirectory: 'coverage’可以生成测试覆盖率报告,npx jest --coverage命令
  3. 代码测试覆盖率:我们编写的测试的代码对我们的功能代码做了多少测试,就是代码测试覆盖率。
  4. 在node环境使用es6的import和export 是不可以的,所以需要通过babel来进行将es6模块转换成commonJs模块。
    • 安装babel npm install @babel/core @babel/preset-env
    • 配置babel:创建.babelrc文件
    •   {
        	"presets": [
        		["@babel/preset-env", {
        			"targets": {
        				"node": "current"
        			}
        		}]
        	]
        }
      

在这里插入图片描述

2-5

  1. 测试用例
  2. 匹配器:比如 toBe就是一个匹配器
    每一个修改文件都要重新运行npm run test 是不是太麻烦?
    所以在package.json文件中的'test': 'jest' 修改为'test': 'jest --watchAll'来监听所有,只要一变化就运行test
const a = { one: 1};
expect(a).toBe({one:1});

上面代码的测试用例是不会被通过的,因为引用的地址不一样。
如果只想匹配内容呢?
可以使用toEqual来匹配内容是否相等。

真假有关的匹配器

toBeNull()
toBeUndefined()
toBeDefined() 判断是否定义
toBeTruthy()
toBeFalsy()

取反的匹配器 not
expect(a).not.toBeFalsy() <=> expect(a).toBeTruthy()

数字相关的匹配器

toBeGreaterThan()
toBeGreaterThanOrEqual()
toBeLessThan()
toBeLessThanOrEqual()

对于小数问题:

在这里插入图片描述

和字符串相关的匹配器

toMatch

test('toMatch', () => {
	const str = 'benjaminpcm'
	expect.toMatch('benjamin');  //里面也可以匹配正则
})
Array、Set
test('toContain', () => {
	const arr = ['aa', 'bb', 'cc']
	const data = new Set(arr);
	expect(data).toContain('aa');  //里面也可以匹配正则
})
异常

在这里插入图片描述

2-6 Jest 命令行工具的使用

  1. code 使用:在vscode 没有打开任何标签的状态下输入command+shift+p,然后输入install code command,这个指令就好被安装到系统变量中,然后同code ./来打开当前目录在这里插入图片描述
  2. 运行测试后,如果测试用例出现问题,那么再次运行测试的时候,如果按下f键,那么下次只运行错误的测试用例。

按下w键会展开Watch Usage展开
在这里插入图片描述
3. o模式要和git绑定,否则不会知道哪些文件被改动了
4. jest --watch默认就是O模式,只会运行被改动的文件。
5. t模式,过滤模式。进入t模式,输入想要过滤的内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

. . . . .

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值