相关文章推荐
逼格高的作业本  ·  Spring Security ...·  4 月前    · 
飞奔的机器猫  ·  return new Promise ...·  11 月前    · 
冲动的楼梯  ·  mingw64 + nvim + ...·  1 年前    · 

expect (2) 返回一个预期的对象

  • toBe : 使用 Object.is来进行精准匹配的测试
  • toEqual : 检查对象的值,递归检查对象或数组的每个字段

可以使用.not 测试相反的匹配

test('test--',()=>{
  let a = 2
  expect(a).not.toBe(3)   //测试用例通过

真值匹配器

  • toBeNull: 只匹配 null
  • toBeUndefined: 只匹配 undefined
  • toBeDefined: 与 toBeUndefined 相反
  • toBeTruthy: 匹配任何语句为真
  • toBeFalsy: 匹配任何语句为假

数字匹配器

  • toBeGreaterThan: 大于
  • toBeGreaterThanOrEqual: 大于或等于
  • toBeLessThan: 小于
  • toBeLessThanOrEqual: 小于等于
  • toBeCloseTo: 比较浮点数相等,允许预期值与实际结果误差在0.005
test('两个浮点数字相加', () => {
  const value = 0.1 + 0.2;
  expect(value).toBe(0.3);   //  这句会报错,因为浮点数有舍入误差
  expect(value).toBeCloseTo(0.3); // 这个可以通过
});

字符串匹配器

  • toMatch:
    • 传正则表达式,匹配符合正则表达式的字符串
    • 传字符串,匹配是否包含此字串

数组匹配器

  • toContain: 匹配数组中某项的值

异常匹配器

  • toThrow: 匹配是否抛出了错误,传参的话匹配是否抛出指定错误类型/错误描述

注意:函数需要在expect的包装函数中调用,否则 toThrow断言总是会失败

test('test--',()=>{ let a = 2 expect(a).toBe(2) //测试用例通过})expect (2)返回一个预期的对象toBe: 使用 Object.is来进行精准匹配的测试toEqual: 检查对象的值,递归检查对象或数组的每个字段可以使用.not 测试相反的匹配test('test--',()=>{ let a = 2 expect(a).not.toBe(3) //测试用例通过})真值匹配器toBeNu 最简单的测试值的方法就是看是否精确匹配。首先是toBe() test('two plus two is four', () => { expect(2 + 2).toBe(4); 复制代码toBe用的是JavaScript中的Object.is(),属于ES6中的特性,所以不能检测... Jest 测试 什么是测试 作为开发来讲可以简单把代码分为两种,一种是业务代码,一种是业务无关的代码。测试代码就是典型的业务无关的代码。不过按照我的定义可以把测试代码定位为:可以保证业务代码是否能够按照预期运行的代码。有些人会把这个叫做 TDD,但是TDD(Test-Driven Development or Test-Driven Design)只是开发的一种思路或者说是习惯,先写测试用例,然后实现业务逻辑。 坦白讲,作为实用主义的程序员,先写测试用例还是后写测试用例或是不写测试, 1.1 最新版本的jest安装需要babel 7.X npm install babel-jest jest --save-dev 1.2 babel 6.X的可安装以下版本或者升级babel npm install babel-jest@23.6.0 jest@23.6.0 --save-dev 1.3 jest不支持import语法 要安装 npm install babel-plugin-transform-es2015-modules-commonjs --save-dev 配置packge.
Jest测试生成已经是相当成熟了,Mocha相比各有优势,对于初学者来说,建议选用Jest,在项目中引用Jest,配置相当简单。 但是Jest官方文档里的断言类型实在太多了,罗列出来常用的几种断言类型,供大家参考,如果想要看全集,请移步到Jest官网。 not: 类似于 ! 取反 expect(2).not.toBe(1) toBe:类似 === expect(1).toBe(1) toEqual:基本用来,匹配对象是否相等 expect({ one: 1 }).toEqual({ one:
在编写测试时,我们通常需要检查值是否满足某些条件,Jest中提供的expect允许你访问很多“Matchers”,这些“匹配”允许您验证不同的东西。 Expect 可以验证什么 Jest中提供了如下的验证方法: expect(value) expect.extend(matchers) expect.anything() expect.any(construc...
`jest-matcher-utils` 是一个 Jest 匹配工具库,用于编写自定义 Jest 匹配。 该工具库提供了一些实用的函数和类,可用于开发和扩展 Jest匹配功能。一些常用的功能包括: - 生成 diff:可以通过 `diff` 函数生成两个值之间的差异文本。 - 格式化对象:可以使用 `printReceived` 和 `printExpected` 函数将对象格式化为字符串,并在错误消息中使用这些字符串。 - 色彩化输出:可以使用 `highlight` 函数将文本高亮显示,以增强可读性。 - 提示建议:可以使用 `pluralize` 函数将单词的复数形式转换为正确的形式。 使用 `jest-matcher-utils` 可以方便地扩展 Jest匹配功能,提供更好的错误消息和可读性。