jest单元测试

npm install jest -D // 安装测试框架

https://www.cnblogs.com/yalong/p/11714393.html

https://www.jianshu.com/p/6aa0f8558199

https://www.cnblogs.com/qinyuandong/p/13649810.html

https://www.cnblogs.com/bear-blogs/p/10543263.html

npm run test
或者在package.json配置,响应式测试:
“scripts”: {
“test”: “jest --watchAll”,
}

Jest中常用的匹配器

toBe()匹配器:
toBe匹配器用来比较原始值或检查对象实例的引用一致性,类似于 ‘Object.is’ 方法和 ‘===’.

// toBe匹配器
test('测试 结果是否等于 "abc"', () => {
  const a = 'abc';
  expect(a).toBe('abc');
})

toEqual()匹配器:
用来匹配内容是否相等,会递归的检查对象的所有属性和属性值是否相等。(如对象内容是否相等)

// 使用toEqual匹配器测试对象内容是否相等
test('测试对象内容是否相等', () => {
  const a = { b: 1 };
  expect(a).toEqual({ b: 1 });
})

toHaveLength(number)匹配器
匹配对象的长度是否为指定值。

//toHaveLength(number)
const arr = [1, 2, 3];
test('测试 arr数组的长度 是否为3', () => {   
  expect(arr).toHaveLength(3);
})

=>和真假相关的匹配器

toBeNull匹配器
匹配某些内容是否为null值。

// toBeNull匹配器
const val = null;
test('测试 null 是否为 空', () => {   
  expect(val).toBeNull();
})

toBeUndefined匹配器
检测一个结果是undefined。

// toBeUndefined匹配器
const val = undefined;
test('测试 结果 是否为 undefined', () => {   
  expect(val).toBeUndefined();
}) 

toBeDefined匹配器
检查一个结果不是undefined。

// toBeDefined匹配器
const val = 1; // 或者 val = null 也可通过测试
test('测试 结果 是否为 undefined', () => {   
  expect(val).toBeDefined();
}) 

toBeTruthy匹配器
检测结果是否为true。

// toBeTruthy匹配器
const val = 1;
test('测试 结果 是否为 true', () => {   
  expect(val).toBeTruthy();
}) 

toBeFalsy匹配器
检测结果是否为false。

// toBeFalsy匹配器
const val = 0;
test('测试 结果 是否为 false', () => {   
  expect(val).toBeFalsy();
}) 

not匹配器

// not匹配器
const val = 1;
test('测试 结果 是否不为 false', () => {   
  expect(val).not.toBeFalsy();
})

=>和数字相关的匹配器

toBeGreaterThan(number) 匹配器
检测某个浮点数的结果是否大于指定浮点数。

// .toBeGreaterThan(number) 匹配器
const val = 4;
test('测试 结果 是否大于 指定浮点数', () => {   
  expect(val).toBeGreaterThan(3);
})

toBeGreaterThanOrEqual(number)匹配器
检测某个浮点数的结果是否大于等于指定浮点数。

// .toBeGreaterThanOrEqual(number)匹配器
const val = 3;
test('测试 结果 是否大于等于 指定浮点数', () => {   
  expect(val).toBeGreaterThanOrEqual(3);
})

toBeLessThan(number) 匹配器
检测某个浮点数的结果是否小于指定浮点数。

// .toBeLessThan(number) 匹配器
const val = 2;
test('测试 结果 是否小于 指定浮点数', () => {   
  expect(val).toBeLessThan(3);
})

toBeLessThanOrEqual(number) 匹配器
检测某个浮点数的结果是否小于等于指定浮点数。

// .toBeLessThanOrEqual(number)
const val = 3;
test('测试 结果 是否大于等于 指定浮点数', () => {   
  expect(val).toBeLessThanOrEqual(3);
})

toBeCloseTo(number) 匹配器
检测浮点数运算结果的精确值是否等于指定的浮点数。

// toBeCloseTo(number)
const a = 0.2;
const b = 0.1;
test('测试 0.1+0.2 是否等于 0.3', () => {   
  expect(a + b).toBeCloseTo(0.3);
})

在js中运算0.1+0.2实际结果为0.30000000000000004,若想取得正常运算结果比较,可使用toBeCloseTo匹配器。

=>和字符串相关的匹配器

toMatch(str) 匹配器

// toMatch(str)
const val = 'abcdefg';
test('测试 0.1+0.2 是否等于 0.3', () => {   
  expect(val).toMatch('ab');
})

=>和数组相关的匹配器

toContain(str) 匹配器

// toContain(str)
const arr = ['a', 'b', 'c'];
const data = new Set(arr); // Set
test('测试 数组arr中 是否包含 "a"元素', () => {   
  expect(arr).toContain('a');
  // expect(data).toContain('a'); //对Set同样生效
})

toThrow() 匹配器
检测函数是否抛出异常。也可以传入字符串参数,匹配抛出异常的内容。

// 异常
const throwNewErrorFunc = () => {
  throw new Error('this is new error')
}
test('测试 函数是否抛出异常', () => {   
  expect(throwNewErrorFunc).toThrow();
  //expect(throwNewErrorFunc).toThrow('this is new error'); // 匹配抛出异常是否为'this is new error'
})

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

前端段

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

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

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

打赏作者

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

抵扣说明:

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

余额充值